Skip to content

Commit 7f4e885

Browse files
committed
chore: update tests
1 parent eb673c7 commit 7f4e885

4 files changed

Lines changed: 37 additions & 30 deletions

File tree

samples/client/petstore/elixir/test/any_test.exs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ defmodule AnyTest do
33
alias OpenapiPetstore.Model.Any, as: Model
44

55
test "decode all properties (not nil)" do
6-
assert %Model{
6+
assert %{
77
"@type": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
88
}
9-
|> Model.decode() ==
9+
|> then(fn params -> Model.changeset(%Model{}, params) end)
10+
|> Ecto.Changeset.apply_action!(:insert) ==
1011
%Model{
1112
"@type": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
1213
}

samples/client/petstore/elixir/test/deserializer_test.exs

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
defmodule DeserializerTest do
22
use ExUnit.Case, async: true
3-
alias OpenapiPetstore.Deserializer
43
alias OpenapiPetstore.Model.{Category, Pet, Tag}
54

65
@valid_json """
@@ -29,21 +28,24 @@ defmodule DeserializerTest do
2928
}
3029
"""
3130

32-
test "jason_decode/2 with valid JSON" do
33-
assert Deserializer.json_decode(@valid_json, Pet) ==
34-
{:ok,
35-
%Pet{
36-
id: 14,
37-
category: %Category{id: 75, name: "sea dragons"},
38-
name: "Nagga",
39-
photoUrls: ["https://example.com/nagga1.jpg", "https://example.com/nagga2.jpg"],
40-
tags: [%Tag{id: 99, name: "dragon"}, %Tag{id: 23, name: "sea"}],
41-
status: "foo"
42-
}}
31+
test "can deserialize valid JSON" do
32+
pet =
33+
JSON.decode!(@valid_json)
34+
|> then(fn params -> Pet.changeset(%Pet{}, params) end)
35+
|> Ecto.Changeset.apply_action!(:insert)
36+
37+
assert pet ==
38+
%Pet{
39+
id: 14,
40+
category: %Category{id: 75, name: "sea dragons"},
41+
name: "Nagga",
42+
photoUrls: ["https://example.com/nagga1.jpg", "https://example.com/nagga2.jpg"],
43+
tags: [%Tag{id: 99, name: "dragon"}, %Tag{id: 23, name: "sea"}],
44+
status: "foo"
45+
}
4346
end
4447

45-
test "jason_decode/2 with invalid JSON" do
46-
assert Deserializer.json_decode(~s/{: 1}/, Pet) ==
47-
{:error, {:invalid_byte, 1, 58}}
48+
test "cannot deserialize invalid JSON" do
49+
assert JSON.decode(~s/{: 1}/) == {:error, {:invalid_byte, 1, 58}}
4850
end
4951
end

samples/client/petstore/elixir/test/format_test.exs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule FormatTest do
33
alias OpenapiPetstore.Model.FormatTest
44

55
test "decode all properties (not nil)" do
6-
assert %FormatTest{
6+
assert %{
77
integer: 1,
88
int32: 2,
99
int64: 3,
@@ -21,20 +21,21 @@ defmodule FormatTest do
2121
pattern_with_digits: "1234567890",
2222
pattern_with_digits_and_delimiter: "Image_01"
2323
}
24-
|> FormatTest.decode() ==
24+
|> then(fn params -> FormatTest.changeset(%FormatTest{}, params) end)
25+
|> Ecto.Changeset.apply_action!(:insert) ==
2526
%FormatTest{
2627
integer: 1,
2728
int32: 2,
2829
int64: 3,
2930
number: 4.1,
3031
float: 5.2,
3132
double: 6.3,
32-
decimal: "7.4",
33+
decimal: 7.4,
3334
string: "Hello world!",
3435
byte: "U3dhZ2dlciByb2Nrcw==",
3536
binary: <<1, 2, 3>>,
36-
date: "2013-10-20",
37-
dateTime: "2013-10-20T19:20:30+01:00",
37+
date: ~D[2013-10-20],
38+
dateTime: ~U[2013-10-20 18:20:30Z],
3839
uuid: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
3940
password: "green?horse",
4041
pattern_with_digits: "1234567890",
@@ -43,7 +44,7 @@ defmodule FormatTest do
4344
end
4445

4546
test "decode all properties (some are nil)" do
46-
assert %FormatTest{
47+
assert %{
4748
integer: nil,
4849
int32: nil,
4950
int64: nil,
@@ -61,7 +62,8 @@ defmodule FormatTest do
6162
pattern_with_digits: nil,
6263
pattern_with_digits_and_delimiter: nil
6364
}
64-
|> FormatTest.decode() ==
65+
|> then(fn params -> FormatTest.changeset(%FormatTest{}, params) end)
66+
|> Ecto.Changeset.apply_action!(:insert) ==
6567
%FormatTest{
6668
integer: nil,
6769
int32: nil,
@@ -73,7 +75,7 @@ defmodule FormatTest do
7375
string: nil,
7476
byte: "U3dhZ2dlciByb2Nrcw==",
7577
binary: nil,
76-
date: "2013-10-20",
78+
date: ~D[2013-10-20],
7779
dateTime: nil,
7880
uuid: nil,
7981
password: "green?horse",

samples/client/petstore/elixir/test/mixed_properties_and_additional_properties_class_test.exs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,19 @@ defmodule MixedPropertiesAndAdditionalPropertiesClass do
44
alias OpenapiPetstore.Model.Animal
55

66
test "decode all properties (not nil)" do
7-
assert %Model{
7+
assert %{
88
uuid: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
99
dateTime: "2013-10-20T19:20:30+01:00",
1010
map: %{
1111
"doggie" => %{"className" => "DOG", "color" => "yellow", "breed" => "Shiba Inu"},
1212
"meow" => %{"className" => "CAT", "color" => "white", "declawed" => false}
1313
}
1414
}
15-
|> Model.decode() ==
15+
|> then(fn params -> Model.changeset(%Model{}, params) end)
16+
|> Ecto.Changeset.apply_action!(:insert) ==
1617
%Model{
1718
uuid: "3fa85f64-5717-4562-b3fc-2c963f66afa6",
18-
dateTime: "2013-10-20T19:20:30+01:00",
19+
dateTime: ~U[2013-10-20 18:20:30Z],
1920
map: %{
2021
# TODO values should be Dog and Cat structs instead of an Animal
2122
"doggie" => %Animal{
@@ -31,12 +32,13 @@ defmodule MixedPropertiesAndAdditionalPropertiesClass do
3132
end
3233

3334
test "decode all properties (nil)" do
34-
assert %Model{
35+
assert %{
3536
uuid: nil,
3637
dateTime: nil,
3738
map: nil
3839
}
39-
|> Model.decode() ==
40+
|> then(fn params -> Model.changeset(%Model{}, params) end)
41+
|> Ecto.Changeset.apply_action!(:insert) ==
4042
%Model{
4143
uuid: nil,
4244
dateTime: nil,

0 commit comments

Comments
 (0)