Skip to content

Commit ce616af

Browse files
test(client): more params tests
1 parent 4b03b94 commit ce616af

File tree

118 files changed

+12895
-0
lines changed

Some content is hidden

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

118 files changed

+12895
-0
lines changed

src/Orb.Tests/Models/Alerts/AlertCreateForCustomerParamsTest.cs

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,71 @@
1+
using System.Collections.Generic;
12
using System.Text.Json;
23
using Orb.Core;
34
using Orb.Exceptions;
45
using Orb.Models.Alerts;
56

67
namespace Orb.Tests.Models.Alerts;
78

9+
public class AlertCreateForCustomerParamsTest : TestBase
10+
{
11+
[Fact]
12+
public void FieldRoundtrip_Works()
13+
{
14+
var parameters = new AlertCreateForCustomerParams
15+
{
16+
CustomerID = "customer_id",
17+
Currency = "currency",
18+
Type = Type.CreditBalanceDepleted,
19+
Thresholds = [new(0)],
20+
};
21+
22+
string expectedCustomerID = "customer_id";
23+
string expectedCurrency = "currency";
24+
ApiEnum<string, Type> expectedType = Type.CreditBalanceDepleted;
25+
List<Threshold> expectedThresholds = [new(0)];
26+
27+
Assert.Equal(expectedCustomerID, parameters.CustomerID);
28+
Assert.Equal(expectedCurrency, parameters.Currency);
29+
Assert.Equal(expectedType, parameters.Type);
30+
Assert.NotNull(parameters.Thresholds);
31+
Assert.Equal(expectedThresholds.Count, parameters.Thresholds.Count);
32+
for (int i = 0; i < expectedThresholds.Count; i++)
33+
{
34+
Assert.Equal(expectedThresholds[i], parameters.Thresholds[i]);
35+
}
36+
}
37+
38+
[Fact]
39+
public void OptionalNullableParamsUnsetAreNotSet_Works()
40+
{
41+
var parameters = new AlertCreateForCustomerParams
42+
{
43+
CustomerID = "customer_id",
44+
Currency = "currency",
45+
Type = Type.CreditBalanceDepleted,
46+
};
47+
48+
Assert.Null(parameters.Thresholds);
49+
Assert.False(parameters.RawBodyData.ContainsKey("thresholds"));
50+
}
51+
52+
[Fact]
53+
public void OptionalNullableParamsSetToNullAreSetToNull_Works()
54+
{
55+
var parameters = new AlertCreateForCustomerParams
56+
{
57+
CustomerID = "customer_id",
58+
Currency = "currency",
59+
Type = Type.CreditBalanceDepleted,
60+
61+
Thresholds = null,
62+
};
63+
64+
Assert.Null(parameters.Thresholds);
65+
Assert.False(parameters.RawBodyData.ContainsKey("thresholds"));
66+
}
67+
}
68+
869
public class TypeTest : TestBase
970
{
1071
[Theory]

src/Orb.Tests/Models/Alerts/AlertCreateForExternalCustomerParamsTest.cs

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,72 @@
1+
using System.Collections.Generic;
12
using System.Text.Json;
23
using Orb.Core;
34
using Orb.Exceptions;
45
using Orb.Models.Alerts;
56

67
namespace Orb.Tests.Models.Alerts;
78

9+
public class AlertCreateForExternalCustomerParamsTest : TestBase
10+
{
11+
[Fact]
12+
public void FieldRoundtrip_Works()
13+
{
14+
var parameters = new AlertCreateForExternalCustomerParams
15+
{
16+
ExternalCustomerID = "external_customer_id",
17+
Currency = "currency",
18+
Type = AlertCreateForExternalCustomerParamsType.CreditBalanceDepleted,
19+
Thresholds = [new(0)],
20+
};
21+
22+
string expectedExternalCustomerID = "external_customer_id";
23+
string expectedCurrency = "currency";
24+
ApiEnum<string, AlertCreateForExternalCustomerParamsType> expectedType =
25+
AlertCreateForExternalCustomerParamsType.CreditBalanceDepleted;
26+
List<Threshold> expectedThresholds = [new(0)];
27+
28+
Assert.Equal(expectedExternalCustomerID, parameters.ExternalCustomerID);
29+
Assert.Equal(expectedCurrency, parameters.Currency);
30+
Assert.Equal(expectedType, parameters.Type);
31+
Assert.NotNull(parameters.Thresholds);
32+
Assert.Equal(expectedThresholds.Count, parameters.Thresholds.Count);
33+
for (int i = 0; i < expectedThresholds.Count; i++)
34+
{
35+
Assert.Equal(expectedThresholds[i], parameters.Thresholds[i]);
36+
}
37+
}
38+
39+
[Fact]
40+
public void OptionalNullableParamsUnsetAreNotSet_Works()
41+
{
42+
var parameters = new AlertCreateForExternalCustomerParams
43+
{
44+
ExternalCustomerID = "external_customer_id",
45+
Currency = "currency",
46+
Type = AlertCreateForExternalCustomerParamsType.CreditBalanceDepleted,
47+
};
48+
49+
Assert.Null(parameters.Thresholds);
50+
Assert.False(parameters.RawBodyData.ContainsKey("thresholds"));
51+
}
52+
53+
[Fact]
54+
public void OptionalNullableParamsSetToNullAreSetToNull_Works()
55+
{
56+
var parameters = new AlertCreateForExternalCustomerParams
57+
{
58+
ExternalCustomerID = "external_customer_id",
59+
Currency = "currency",
60+
Type = AlertCreateForExternalCustomerParamsType.CreditBalanceDepleted,
61+
62+
Thresholds = null,
63+
};
64+
65+
Assert.Null(parameters.Thresholds);
66+
Assert.False(parameters.RawBodyData.ContainsKey("thresholds"));
67+
}
68+
}
69+
870
public class AlertCreateForExternalCustomerParamsTypeTest : TestBase
971
{
1072
[Theory]

src/Orb.Tests/Models/Alerts/AlertCreateForSubscriptionParamsTest.cs

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,71 @@
1+
using System.Collections.Generic;
12
using System.Text.Json;
23
using Orb.Core;
34
using Orb.Exceptions;
45
using Orb.Models.Alerts;
56

67
namespace Orb.Tests.Models.Alerts;
78

9+
public class AlertCreateForSubscriptionParamsTest : TestBase
10+
{
11+
[Fact]
12+
public void FieldRoundtrip_Works()
13+
{
14+
var parameters = new AlertCreateForSubscriptionParams
15+
{
16+
SubscriptionID = "subscription_id",
17+
Thresholds = [new(0)],
18+
Type = AlertCreateForSubscriptionParamsType.UsageExceeded,
19+
MetricID = "metric_id",
20+
};
21+
22+
string expectedSubscriptionID = "subscription_id";
23+
List<Threshold> expectedThresholds = [new(0)];
24+
ApiEnum<string, AlertCreateForSubscriptionParamsType> expectedType =
25+
AlertCreateForSubscriptionParamsType.UsageExceeded;
26+
string expectedMetricID = "metric_id";
27+
28+
Assert.Equal(expectedSubscriptionID, parameters.SubscriptionID);
29+
Assert.Equal(expectedThresholds.Count, parameters.Thresholds.Count);
30+
for (int i = 0; i < expectedThresholds.Count; i++)
31+
{
32+
Assert.Equal(expectedThresholds[i], parameters.Thresholds[i]);
33+
}
34+
Assert.Equal(expectedType, parameters.Type);
35+
Assert.Equal(expectedMetricID, parameters.MetricID);
36+
}
37+
38+
[Fact]
39+
public void OptionalNullableParamsUnsetAreNotSet_Works()
40+
{
41+
var parameters = new AlertCreateForSubscriptionParams
42+
{
43+
SubscriptionID = "subscription_id",
44+
Thresholds = [new(0)],
45+
Type = AlertCreateForSubscriptionParamsType.UsageExceeded,
46+
};
47+
48+
Assert.Null(parameters.MetricID);
49+
Assert.False(parameters.RawBodyData.ContainsKey("metric_id"));
50+
}
51+
52+
[Fact]
53+
public void OptionalNullableParamsSetToNullAreSetToNull_Works()
54+
{
55+
var parameters = new AlertCreateForSubscriptionParams
56+
{
57+
SubscriptionID = "subscription_id",
58+
Thresholds = [new(0)],
59+
Type = AlertCreateForSubscriptionParamsType.UsageExceeded,
60+
61+
MetricID = null,
62+
};
63+
64+
Assert.Null(parameters.MetricID);
65+
Assert.False(parameters.RawBodyData.ContainsKey("metric_id"));
66+
}
67+
}
68+
869
public class AlertCreateForSubscriptionParamsTypeTest : TestBase
970
{
1071
[Theory]
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using Orb.Models.Alerts;
2+
3+
namespace Orb.Tests.Models.Alerts;
4+
5+
public class AlertDisableParamsTest : TestBase
6+
{
7+
[Fact]
8+
public void FieldRoundtrip_Works()
9+
{
10+
var parameters = new AlertDisableParams
11+
{
12+
AlertConfigurationID = "alert_configuration_id",
13+
SubscriptionID = "subscription_id",
14+
};
15+
16+
string expectedAlertConfigurationID = "alert_configuration_id";
17+
string expectedSubscriptionID = "subscription_id";
18+
19+
Assert.Equal(expectedAlertConfigurationID, parameters.AlertConfigurationID);
20+
Assert.Equal(expectedSubscriptionID, parameters.SubscriptionID);
21+
}
22+
23+
[Fact]
24+
public void OptionalNullableParamsUnsetAreNotSet_Works()
25+
{
26+
var parameters = new AlertDisableParams { AlertConfigurationID = "alert_configuration_id" };
27+
28+
Assert.Null(parameters.SubscriptionID);
29+
Assert.False(parameters.RawQueryData.ContainsKey("subscription_id"));
30+
}
31+
32+
[Fact]
33+
public void OptionalNullableParamsSetToNullAreSetToNull_Works()
34+
{
35+
var parameters = new AlertDisableParams
36+
{
37+
AlertConfigurationID = "alert_configuration_id",
38+
39+
SubscriptionID = null,
40+
};
41+
42+
Assert.Null(parameters.SubscriptionID);
43+
Assert.False(parameters.RawQueryData.ContainsKey("subscription_id"));
44+
}
45+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using Orb.Models.Alerts;
2+
3+
namespace Orb.Tests.Models.Alerts;
4+
5+
public class AlertEnableParamsTest : TestBase
6+
{
7+
[Fact]
8+
public void FieldRoundtrip_Works()
9+
{
10+
var parameters = new AlertEnableParams
11+
{
12+
AlertConfigurationID = "alert_configuration_id",
13+
SubscriptionID = "subscription_id",
14+
};
15+
16+
string expectedAlertConfigurationID = "alert_configuration_id";
17+
string expectedSubscriptionID = "subscription_id";
18+
19+
Assert.Equal(expectedAlertConfigurationID, parameters.AlertConfigurationID);
20+
Assert.Equal(expectedSubscriptionID, parameters.SubscriptionID);
21+
}
22+
23+
[Fact]
24+
public void OptionalNullableParamsUnsetAreNotSet_Works()
25+
{
26+
var parameters = new AlertEnableParams { AlertConfigurationID = "alert_configuration_id" };
27+
28+
Assert.Null(parameters.SubscriptionID);
29+
Assert.False(parameters.RawQueryData.ContainsKey("subscription_id"));
30+
}
31+
32+
[Fact]
33+
public void OptionalNullableParamsSetToNullAreSetToNull_Works()
34+
{
35+
var parameters = new AlertEnableParams
36+
{
37+
AlertConfigurationID = "alert_configuration_id",
38+
39+
SubscriptionID = null,
40+
};
41+
42+
Assert.Null(parameters.SubscriptionID);
43+
Assert.False(parameters.RawQueryData.ContainsKey("subscription_id"));
44+
}
45+
}

0 commit comments

Comments
 (0)