Skip to content

Commit 58e230c

Browse files
feat(internal): add additional object tests
1 parent 1de7a74 commit 58e230c

File tree

249 files changed

+231794
-12606
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

249 files changed

+231794
-12606
lines changed

src/Orb.Tests/Models/AddressTest.cs

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System.Text.Json;
12
using Orb.Models;
23

34
namespace Orb.Tests.Models;
@@ -31,4 +32,71 @@ public void FieldRoundtrip_Works()
3132
Assert.Equal(expectedPostalCode, model.PostalCode);
3233
Assert.Equal(expectedState, model.State);
3334
}
35+
36+
[Fact]
37+
public void SerializationRoundtrip_Works()
38+
{
39+
var model = new Address
40+
{
41+
City = "city",
42+
Country = "country",
43+
Line1 = "line1",
44+
Line2 = "line2",
45+
PostalCode = "postal_code",
46+
State = "state",
47+
};
48+
49+
string json = JsonSerializer.Serialize(model);
50+
var deserialized = JsonSerializer.Deserialize<Address>(json);
51+
52+
Assert.Equal(model, deserialized);
53+
}
54+
55+
[Fact]
56+
public void FieldRoundtripThroughSerialization_Works()
57+
{
58+
var model = new Address
59+
{
60+
City = "city",
61+
Country = "country",
62+
Line1 = "line1",
63+
Line2 = "line2",
64+
PostalCode = "postal_code",
65+
State = "state",
66+
};
67+
68+
string json = JsonSerializer.Serialize(model);
69+
var deserialized = JsonSerializer.Deserialize<Address>(json);
70+
Assert.NotNull(deserialized);
71+
72+
string expectedCity = "city";
73+
string expectedCountry = "country";
74+
string expectedLine1 = "line1";
75+
string expectedLine2 = "line2";
76+
string expectedPostalCode = "postal_code";
77+
string expectedState = "state";
78+
79+
Assert.Equal(expectedCity, deserialized.City);
80+
Assert.Equal(expectedCountry, deserialized.Country);
81+
Assert.Equal(expectedLine1, deserialized.Line1);
82+
Assert.Equal(expectedLine2, deserialized.Line2);
83+
Assert.Equal(expectedPostalCode, deserialized.PostalCode);
84+
Assert.Equal(expectedState, deserialized.State);
85+
}
86+
87+
[Fact]
88+
public void Validation_Works()
89+
{
90+
var model = new Address
91+
{
92+
City = "city",
93+
Country = "country",
94+
Line1 = "line1",
95+
Line2 = "line2",
96+
PostalCode = "postal_code",
97+
State = "state",
98+
};
99+
100+
model.Validate();
101+
}
34102
}

src/Orb.Tests/Models/AdjustmentIntervalTest.cs

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Text.Json;
34
using Orb.Models;
45

56
namespace Orb.Tests.Models;
@@ -75,4 +76,152 @@ public void FieldRoundtrip_Works()
7576
Assert.Equal(expectedEndDate, model.EndDate);
7677
Assert.Equal(expectedStartDate, model.StartDate);
7778
}
79+
80+
[Fact]
81+
public void SerializationRoundtrip_Works()
82+
{
83+
var model = new AdjustmentInterval
84+
{
85+
ID = "id",
86+
Adjustment = new PlanPhaseUsageDiscountAdjustment()
87+
{
88+
ID = "id",
89+
AdjustmentType = PlanPhaseUsageDiscountAdjustmentAdjustmentType.UsageDiscount,
90+
AppliesToPriceIDs = ["string"],
91+
Filters =
92+
[
93+
new()
94+
{
95+
Field = Filter23Field.PriceID,
96+
Operator = Filter23Operator.Includes,
97+
Values = ["string"],
98+
},
99+
],
100+
IsInvoiceLevel = true,
101+
PlanPhaseOrder = 0,
102+
Reason = "reason",
103+
ReplacesAdjustmentID = "replaces_adjustment_id",
104+
UsageDiscount = 0,
105+
},
106+
AppliesToPriceIntervalIDs = ["string"],
107+
EndDate = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
108+
StartDate = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
109+
};
110+
111+
string json = JsonSerializer.Serialize(model);
112+
var deserialized = JsonSerializer.Deserialize<AdjustmentInterval>(json);
113+
114+
Assert.Equal(model, deserialized);
115+
}
116+
117+
[Fact]
118+
public void FieldRoundtripThroughSerialization_Works()
119+
{
120+
var model = new AdjustmentInterval
121+
{
122+
ID = "id",
123+
Adjustment = new PlanPhaseUsageDiscountAdjustment()
124+
{
125+
ID = "id",
126+
AdjustmentType = PlanPhaseUsageDiscountAdjustmentAdjustmentType.UsageDiscount,
127+
AppliesToPriceIDs = ["string"],
128+
Filters =
129+
[
130+
new()
131+
{
132+
Field = Filter23Field.PriceID,
133+
Operator = Filter23Operator.Includes,
134+
Values = ["string"],
135+
},
136+
],
137+
IsInvoiceLevel = true,
138+
PlanPhaseOrder = 0,
139+
Reason = "reason",
140+
ReplacesAdjustmentID = "replaces_adjustment_id",
141+
UsageDiscount = 0,
142+
},
143+
AppliesToPriceIntervalIDs = ["string"],
144+
EndDate = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
145+
StartDate = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
146+
};
147+
148+
string json = JsonSerializer.Serialize(model);
149+
var deserialized = JsonSerializer.Deserialize<AdjustmentInterval>(json);
150+
Assert.NotNull(deserialized);
151+
152+
string expectedID = "id";
153+
AdjustmentIntervalAdjustment expectedAdjustment = new PlanPhaseUsageDiscountAdjustment()
154+
{
155+
ID = "id",
156+
AdjustmentType = PlanPhaseUsageDiscountAdjustmentAdjustmentType.UsageDiscount,
157+
AppliesToPriceIDs = ["string"],
158+
Filters =
159+
[
160+
new()
161+
{
162+
Field = Filter23Field.PriceID,
163+
Operator = Filter23Operator.Includes,
164+
Values = ["string"],
165+
},
166+
],
167+
IsInvoiceLevel = true,
168+
PlanPhaseOrder = 0,
169+
Reason = "reason",
170+
ReplacesAdjustmentID = "replaces_adjustment_id",
171+
UsageDiscount = 0,
172+
};
173+
List<string> expectedAppliesToPriceIntervalIDs = ["string"];
174+
DateTimeOffset expectedEndDate = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z");
175+
DateTimeOffset expectedStartDate = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z");
176+
177+
Assert.Equal(expectedID, deserialized.ID);
178+
Assert.Equal(expectedAdjustment, deserialized.Adjustment);
179+
Assert.Equal(
180+
expectedAppliesToPriceIntervalIDs.Count,
181+
deserialized.AppliesToPriceIntervalIDs.Count
182+
);
183+
for (int i = 0; i < expectedAppliesToPriceIntervalIDs.Count; i++)
184+
{
185+
Assert.Equal(
186+
expectedAppliesToPriceIntervalIDs[i],
187+
deserialized.AppliesToPriceIntervalIDs[i]
188+
);
189+
}
190+
Assert.Equal(expectedEndDate, deserialized.EndDate);
191+
Assert.Equal(expectedStartDate, deserialized.StartDate);
192+
}
193+
194+
[Fact]
195+
public void Validation_Works()
196+
{
197+
var model = new AdjustmentInterval
198+
{
199+
ID = "id",
200+
Adjustment = new PlanPhaseUsageDiscountAdjustment()
201+
{
202+
ID = "id",
203+
AdjustmentType = PlanPhaseUsageDiscountAdjustmentAdjustmentType.UsageDiscount,
204+
AppliesToPriceIDs = ["string"],
205+
Filters =
206+
[
207+
new()
208+
{
209+
Field = Filter23Field.PriceID,
210+
Operator = Filter23Operator.Includes,
211+
Values = ["string"],
212+
},
213+
],
214+
IsInvoiceLevel = true,
215+
PlanPhaseOrder = 0,
216+
Reason = "reason",
217+
ReplacesAdjustmentID = "replaces_adjustment_id",
218+
UsageDiscount = 0,
219+
},
220+
AppliesToPriceIntervalIDs = ["string"],
221+
EndDate = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
222+
StartDate = DateTimeOffset.Parse("2019-12-27T18:11:19.117Z"),
223+
};
224+
225+
model.Validate();
226+
}
78227
}

0 commit comments

Comments
 (0)