|
1 | 1 | namespace ShippoTests.Integration;
|
2 | 2 |
|
| 3 | +using System.Text.RegularExpressions; |
3 | 4 | using Parcels = Shippo.Models.Components.Parcels;
|
| 5 | +using ListShipmentsRequest = Shippo.Models.Requests.ListShipmentsRequest; |
| 6 | +using ShipmentPaginatedList = Shippo.Models.Components.ShipmentPaginatedList; |
4 | 7 |
|
5 | 8 | [Collection("Integration")]
|
6 | 9 | public class ShipmentsTest
|
@@ -107,63 +110,72 @@ public async void TestInternationalShipment()
|
107 | 110 | }
|
108 | 111 |
|
109 | 112 | [Fact]
|
110 |
| - public void TestListAllShipments() |
| 113 | + public async void TestListAllShipments() |
111 | 114 | {
|
112 |
| - var request = new ListShipmentsRequest(); |
113 |
| - var response = _api.Shipments.List(request); |
| 115 | + ListShipmentsRequest request = new ListShipmentsRequest() {}; |
| 116 | + ShipmentPaginatedList response = await sdkFixture.SDK.Shipments.ListAsync(request); |
114 | 117 |
|
115 |
| - Assert.IsNotNull(response); |
116 |
| - Assert.IsInstanceOf<ShipmentPaginatedList>(response); |
117 |
| - |
118 |
| - AssertShipmentResults(response.Results); |
| 118 | + response.Should().NotBeNull(); |
| 119 | + response.Results.Should().NotBeNull(); |
| 120 | + |
| 121 | + if (response.Results != null) |
| 122 | + { |
| 123 | + AssertShipmentResults(response.Results); |
| 124 | + } |
119 | 125 | }
|
120 | 126 |
|
121 | 127 | [Fact]
|
122 |
| - public void TestListAllShipmentsPagination() |
| 128 | + public async void TestListAllShipmentsPagination() |
123 | 129 | {
|
124 |
| - var request = new ListShipmentsRequest |
| 130 | + ListShipmentsRequest request = new ListShipmentsRequest |
125 | 131 | {
|
126 | 132 | Page = 1,
|
127 | 133 | Results = 2
|
128 | 134 | };
|
129 |
| - var response = _api.Shipments.List(request); |
| 135 | + ShipmentPaginatedList response = await sdkFixture.SDK.Shipments.ListAsync(request); |
130 | 136 |
|
131 |
| - Assert.IsNotNull(response); |
132 |
| - Assert.IsInstanceOf<ShipmentPaginatedList>(response); |
| 137 | + response.Should().NotBeNull(); |
| 138 | + response.Results.Should().NotBeNull(); |
133 | 139 |
|
134 |
| - AssertShipmentResults(response.Results); |
| 140 | + if (response.Results != null) |
| 141 | + { |
| 142 | + AssertShipmentResults(response.Results); |
| 143 | + } |
135 | 144 |
|
136 | 145 | if (!string.IsNullOrEmpty(response.Next))
|
137 | 146 | {
|
138 | 147 | var match = Regex.Match(response.Next, @"page_token=([^&]+)");
|
139 | 148 | if (match.Success)
|
140 | 149 | {
|
141 |
| - var pageToken = match.Groups[1].Value; |
142 |
| - var secondRequest = new ListShipmentsRequest |
| 150 | + string pageToken = match.Groups[1].Value; |
| 151 | + ListShipmentsRequest secondRequest = new ListShipmentsRequest |
143 | 152 | {
|
144 | 153 | PageToken = pageToken,
|
145 | 154 | Page = 2,
|
146 | 155 | Results = 2
|
147 | 156 | };
|
148 |
| - var secondResponse = _api.Shipments.List(secondRequest); |
| 157 | + ShipmentPaginatedList secondResponse = await sdkFixture.SDK.Shipments.ListAsync(secondRequest); |
| 158 | + |
| 159 | + secondResponse.Should().NotBeNull(); |
| 160 | + secondResponse.Results.Should().NotBeNull(); |
149 | 161 |
|
150 |
| - Assert.IsNotNull(secondResponse); |
151 |
| - Assert.IsInstanceOf<ShipmentPaginatedList>(secondResponse); |
152 |
| - AssertShipmentResults(secondResponse.Results); |
| 162 | + if (secondResponse.Results != null) |
| 163 | + { |
| 164 | + AssertShipmentResults(secondResponse.Results); |
| 165 | + } |
153 | 166 | }
|
154 | 167 | }
|
155 | 168 | }
|
156 | 169 |
|
157 | 170 | private void AssertShipmentResults(List<Shipment> results)
|
158 | 171 | {
|
159 |
| - Assert.IsInstanceOf<List<Shipment>>(results); |
160 | 172 | if (results != null && results.Count > 0)
|
161 | 173 | {
|
162 |
| - foreach (var result in results) |
| 174 | + foreach (Shipment result in results) |
163 | 175 | {
|
164 |
| - Assert.IsNotNull(result.ObjectId); |
165 |
| - Assert.IsNotNull(result.AddressFrom); |
166 |
| - Assert.IsNotNull(result.AddressTo); |
| 176 | + result.ObjectId.Should().NotBeNull(); |
| 177 | + result.AddressFrom.Should().NotBeNull(); |
| 178 | + result.AddressTo.Should().NotBeNull(); |
167 | 179 | }
|
168 | 180 | }
|
169 | 181 | }
|
|
0 commit comments