Skip to content

Commit 732e52c

Browse files
committed
Simplify assertions
1 parent 8bab51a commit 732e52c

File tree

6 files changed

+51
-62
lines changed

6 files changed

+51
-62
lines changed

test/OpenApiKiotaEndToEndTests/QueryStrings/IncludeTests.cs

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,8 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
5858
response.Data.ElementAt(0).Id.Should().Be(node.StringId);
5959

6060
response.Included.ShouldHaveCount(2);
61-
62-
response.Included.Should().ContainSingle(include =>
63-
include is NameValuePairDataInResponse && ((NameValuePairDataInResponse)include).Id == node.Values.ElementAt(0).StringId);
64-
65-
response.Included.Should().ContainSingle(include =>
66-
include is NameValuePairDataInResponse && ((NameValuePairDataInResponse)include).Id == node.Values.ElementAt(1).StringId);
61+
response.Included.OfType<NameValuePairDataInResponse>().Should().ContainSingle(include => include.Id == node.Values.ElementAt(0).StringId);
62+
response.Included.OfType<NameValuePairDataInResponse>().Should().ContainSingle(include => include.Id == node.Values.ElementAt(1).StringId);
6763
}
6864
}
6965

@@ -101,15 +97,9 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
10197
response.Data.Id.Should().Be(node.StringId);
10298

10399
response.Included.ShouldHaveCount(3);
104-
105-
response.Included.Should().ContainSingle(include =>
106-
include is NodeDataInResponse && ((NodeDataInResponse)include).Id == node.Children.ElementAt(0).StringId);
107-
108-
response.Included.Should().ContainSingle(include =>
109-
include is NodeDataInResponse && ((NodeDataInResponse)include).Id == node.Children.ElementAt(1).StringId);
110-
111-
response.Included.Should().ContainSingle(include =>
112-
include is NameValuePairDataInResponse && ((NameValuePairDataInResponse)include).Id == node.Values[0].StringId);
100+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(include => include.Id == node.Children.ElementAt(0).StringId);
101+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(include => include.Id == node.Children.ElementAt(1).StringId);
102+
response.Included.OfType<NameValuePairDataInResponse>().Should().ContainSingle(include => include.Id == node.Values[0].StringId);
113103
}
114104
}
115105

@@ -146,8 +136,8 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
146136
response.Data.ShouldHaveCount(2);
147137

148138
response.Included.ShouldHaveCount(2);
149-
response.Included.Should().ContainSingle(include => include is NodeDataInResponse && ((NodeDataInResponse)include).Id == node.StringId);
150-
response.Included.Should().ContainSingle(include => include is NodeDataInResponse && ((NodeDataInResponse)include).Id == node.Parent.StringId);
139+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(include => include.Id == node.StringId);
140+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(include => include.Id == node.Parent.StringId);
151141
}
152142
}
153143

@@ -186,10 +176,12 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
186176

187177
response.Included.ShouldHaveCount(1);
188178

189-
NodeDataInResponse include = response.Included.ElementAt(0).Should().BeOfType<NodeDataInResponse>().Subject;
190-
include.Id.Should().Be(node.Parent.Parent.StringId);
191-
include.Attributes.ShouldNotBeNull();
192-
include.Attributes.Name.Should().Be(node.Parent.Parent.Name);
179+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(nodeData => nodeData.Id == node.Parent.Parent.StringId).Subject.With(
180+
nodeData =>
181+
{
182+
nodeData.Attributes.ShouldNotBeNull();
183+
nodeData.Attributes.Name.Should().Be(node.Parent.Parent.Name);
184+
});
193185
}
194186
}
195187

test/OpenApiKiotaEndToEndTests/RestrictedControllers/CreateResourceTests.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,20 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
108108
response.Data.Relationships.AudioStreams.Data.ElementAt(0).Id.Should().Be(existingAudioStream.StringId);
109109

110110
response.Included.ShouldHaveCount(2);
111-
DataStreamDataInResponse[] dataStreamIncludes = response.Included.OfType<DataStreamDataInResponse>().ToArray();
112111

113-
DataStreamDataInResponse videoStream = dataStreamIncludes.Single(include => include.Id == existingVideoStream.StringId);
114-
videoStream.Attributes.ShouldNotBeNull();
115-
videoStream.Attributes.BytesTransmitted.Should().Be((long?)existingVideoStream.BytesTransmitted);
112+
response.Included.OfType<DataStreamDataInResponse>().Should().ContainSingle(streamData => streamData.Id == existingVideoStream.StringId).Subject
113+
.With(streamData =>
114+
{
115+
streamData.Attributes.ShouldNotBeNull();
116+
streamData.Attributes.BytesTransmitted.Should().Be((long?)existingVideoStream.BytesTransmitted);
117+
});
116118

117-
DataStreamDataInResponse audioStream = dataStreamIncludes.Single(include => include.Id == existingAudioStream.StringId);
118-
audioStream.Attributes.ShouldNotBeNull();
119-
audioStream.Attributes.BytesTransmitted.Should().Be((long?)existingAudioStream.BytesTransmitted);
119+
response.Included.OfType<DataStreamDataInResponse>().Should().ContainSingle(streamData => streamData.Id == existingAudioStream.StringId).Subject
120+
.With(streamData =>
121+
{
122+
streamData.Attributes.ShouldNotBeNull();
123+
streamData.Attributes.BytesTransmitted.Should().Be((long?)existingAudioStream.BytesTransmitted);
124+
});
120125

121126
long newChannelId = long.Parse(response.Data.Id.ShouldNotBeNull());
122127

test/OpenApiKiotaEndToEndTests/RestrictedControllers/UpdateResourceTests.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,7 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
114114
response.Data.Relationships.AudioStreams.Data.Should().BeEmpty();
115115

116116
response.Included.ShouldHaveCount(1);
117-
118-
DataStreamDataInResponse? videoStream = response.Included.ElementAt(0).Should().BeOfType<DataStreamDataInResponse>().Which;
119-
videoStream.Id.Should().Be(existingVideoStream.StringId);
117+
response.Included.OfType<DataStreamDataInResponse>().Should().ContainSingle(streamData => streamData.Id == existingVideoStream.StringId);
120118

121119
await _testContext.RunOnDatabaseAsync(async dbContext =>
122120
{

test/OpenApiNSwagEndToEndTests/QueryStrings/IncludeTests.cs

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,8 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
5353
response.Data.ElementAt(0).Id.Should().Be(node.StringId);
5454

5555
response.Included.ShouldHaveCount(2);
56-
57-
response.Included.Should().ContainSingle(include =>
58-
include is NameValuePairDataInResponse && ((NameValuePairDataInResponse)include).Id == node.Values.ElementAt(0).StringId);
59-
60-
response.Included.Should().ContainSingle(include =>
61-
include is NameValuePairDataInResponse && ((NameValuePairDataInResponse)include).Id == node.Values.ElementAt(1).StringId);
56+
response.Included.OfType<NameValuePairDataInResponse>().Should().ContainSingle(include => include.Id == node.Values.ElementAt(0).StringId);
57+
response.Included.OfType<NameValuePairDataInResponse>().Should().ContainSingle(include => include.Id == node.Values.ElementAt(1).StringId);
6258
}
6359

6460
[Fact]
@@ -91,15 +87,9 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
9187
response.Data.Id.Should().Be(node.StringId);
9288

9389
response.Included.ShouldHaveCount(3);
94-
95-
response.Included.Should().ContainSingle(include =>
96-
include is NodeDataInResponse && ((NodeDataInResponse)include).Id == node.Children.ElementAt(0).StringId);
97-
98-
response.Included.Should().ContainSingle(include =>
99-
include is NodeDataInResponse && ((NodeDataInResponse)include).Id == node.Children.ElementAt(1).StringId);
100-
101-
response.Included.Should().ContainSingle(include =>
102-
include is NameValuePairDataInResponse && ((NameValuePairDataInResponse)include).Id == node.Values[0].StringId);
90+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(include => include.Id == node.Children.ElementAt(0).StringId);
91+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(include => include.Id == node.Children.ElementAt(1).StringId);
92+
response.Included.OfType<NameValuePairDataInResponse>().Should().ContainSingle(include => include.Id == node.Values[0].StringId);
10393
}
10494

10595
[Fact]
@@ -132,8 +122,8 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
132122
response.Data.ShouldHaveCount(2);
133123

134124
response.Included.ShouldHaveCount(2);
135-
response.Included.Should().ContainSingle(include => include is NodeDataInResponse && ((NodeDataInResponse)include).Id == node.StringId);
136-
response.Included.Should().ContainSingle(include => include is NodeDataInResponse && ((NodeDataInResponse)include).Id == node.Parent.StringId);
125+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(include => include.Id == node.StringId);
126+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(include => include.Id == node.Parent.StringId);
137127
}
138128

139129
[Fact]
@@ -168,10 +158,11 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
168158

169159
response.Included.ShouldHaveCount(1);
170160

171-
NodeDataInResponse include = response.Included.ElementAt(0).Should().BeOfType<NodeDataInResponse>().Subject;
172-
include.Id.Should().Be(node.Parent.Parent.StringId);
173-
include.Attributes.ShouldNotBeNull();
174-
include.Attributes.Name.Should().Be(node.Parent.Parent.Name);
161+
response.Included.OfType<NodeDataInResponse>().Should().ContainSingle(nodeData => nodeData.Id == node.Parent.Parent.StringId).Subject.With(nodeData =>
162+
{
163+
nodeData.Attributes.ShouldNotBeNull();
164+
nodeData.Attributes.Name.Should().Be(node.Parent.Parent.Name);
165+
});
175166
}
176167

177168
[Fact]

test/OpenApiNSwagEndToEndTests/RestrictedControllers/CreateResourceTests.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,20 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
102102
response.Data.Relationships.AudioStreams.Data.ElementAt(0).Id.Should().Be(existingAudioStream.StringId);
103103

104104
response.Included.ShouldHaveCount(2);
105-
DataStreamDataInResponse[] dataStreamIncludes = response.Included.OfType<DataStreamDataInResponse>().ToArray();
106105

107-
DataStreamDataInResponse videoStream = dataStreamIncludes.Single(include => include.Id == existingVideoStream.StringId);
108-
videoStream.Attributes.ShouldNotBeNull();
109-
videoStream.Attributes.BytesTransmitted.Should().Be((long?)existingVideoStream.BytesTransmitted);
106+
response.Included.OfType<DataStreamDataInResponse>().Should().ContainSingle(streamData => streamData.Id == existingVideoStream.StringId).Subject.With(
107+
streamData =>
108+
{
109+
streamData.Attributes.ShouldNotBeNull();
110+
streamData.Attributes.BytesTransmitted.Should().Be((long?)existingVideoStream.BytesTransmitted);
111+
});
110112

111-
DataStreamDataInResponse audioStream = dataStreamIncludes.Single(include => include.Id == existingAudioStream.StringId);
112-
audioStream.Attributes.ShouldNotBeNull();
113-
audioStream.Attributes.BytesTransmitted.Should().Be((long?)existingAudioStream.BytesTransmitted);
113+
response.Included.OfType<DataStreamDataInResponse>().Should().ContainSingle(streamData => streamData.Id == existingAudioStream.StringId).Subject.With(
114+
streamData =>
115+
{
116+
streamData.Attributes.ShouldNotBeNull();
117+
streamData.Attributes.BytesTransmitted.Should().Be((long?)existingAudioStream.BytesTransmitted);
118+
});
114119

115120
long newChannelId = long.Parse(response.Data.Id.ShouldNotBeNull());
116121

test/OpenApiNSwagEndToEndTests/RestrictedControllers/UpdateResourceTests.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,7 @@ await _testContext.RunOnDatabaseAsync(async dbContext =>
109109
response.Data.Relationships.AudioStreams.Data.Should().BeEmpty();
110110

111111
response.Included.ShouldHaveCount(1);
112-
113-
DataStreamDataInResponse? videoStream = response.Included.ElementAt(0).Should().BeOfType<DataStreamDataInResponse>().Which;
114-
videoStream.Id.Should().Be(existingVideoStream.StringId);
112+
response.Included.OfType<DataStreamDataInResponse>().Should().ContainSingle(streamData => streamData.Id == existingVideoStream.StringId);
115113

116114
await _testContext.RunOnDatabaseAsync(async dbContext =>
117115
{

0 commit comments

Comments
 (0)