Skip to content

Commit 4956355

Browse files
committed
switch to shouldly
1 parent 9212d08 commit 4956355

10 files changed

Lines changed: 29 additions & 29 deletions

File tree

changelog.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
- migrate to xUnit v3
2-
- upgrade dependencies to latest
1+
- remove fluentassertions and switch to shouldly

templates/integrated/Source/Features/Members/SignUp/Tests/Cases.cs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,33 +30,36 @@ public async Task Invalid_User_Input()
3030

3131
var (rsp, res) = await App.Client.POSTAsync<Endpoint, Request, ProblemDetails>(req);
3232

33-
rsp.IsSuccessStatusCode.Should().BeFalse();
33+
rsp.IsSuccessStatusCode.ShouldBeFalse();
3434

3535
var errKeys = res.Errors.Select(e => e.Name).ToList();
36-
errKeys.Should().BeEquivalentTo(
36+
errKeys.ShouldBe(
37+
[
3738
"userDetails.FirstName",
3839
"userDetails.LastName",
3940
"email",
4041
"birthDay",
4142
"gender",
4243
"contact.MobileNumber",
4344
"address.State",
44-
"address.ZipCode");
45+
"address.ZipCode"
46+
]);
4547
}
4648

4749
[Fact, Priority(1)]
4850
public async Task Successful_Member_Creation()
4951
{
5052
var (rsp, res) = await App.Client.POSTAsync<Endpoint, Request, Response>(App.SignupRequest);
5153

52-
rsp.IsSuccessStatusCode.Should().BeTrue();
53-
ObjectId.TryParse(res.MemberId, out _).Should().BeTrue();
54+
rsp.IsSuccessStatusCode.ShouldBeTrue();
55+
ObjectId.TryParse(res.MemberId, out _).ShouldBeTrue();
5456
App.MemberId = res.MemberId;
55-
res.MemberNumber.Should().BeOfType(typeof(ulong)).And.BeGreaterThan(0);
57+
res.MemberNumber.ShouldBeOfType<ulong>();
58+
res.MemberNumber.ShouldBeGreaterThan(0UL);
5659

5760
var actual = await DB.Find<Member>()
5861
.MatchID(App.MemberId)
59-
.ExecuteSingleAsync();
62+
.ExecuteSingleAsync(Cancellation);
6063

6164
var expected = new Member
6265
{
@@ -78,22 +81,20 @@ public async Task Successful_Member_Creation()
7881
MobileNumber = App.SignupRequest.Contact.MobileNumber
7982
};
8083

81-
actual.Should().BeEquivalentTo(expected);
84+
actual.ShouldBeEquivalentTo(expected);
8285

8386
var fakeSesClient = (SesClient)App.Services.GetRequiredService<IAmazonSimpleEmailServiceV2>();
84-
(await fakeSesClient.EmailReceived(App.MemberId)).Should().BeTrue();
87+
(await fakeSesClient.EmailReceived(App.MemberId)).ShouldBeTrue();
8588
}
8689

8790
[Fact, Priority(2)]
8891
public async Task Duplicate_Info_Validation()
8992
{
9093
var (rsp, res) = await App.Client.POSTAsync<Endpoint, Request, ProblemDetails>(App.SignupRequest);
9194

92-
rsp.StatusCode.Should().Be(HttpStatusCode.BadRequest);
95+
rsp.StatusCode.ShouldBe(HttpStatusCode.BadRequest);
9396

9497
var errKeys = res.Errors.Select(e => e.Name).ToList();
95-
errKeys.Should().BeEquivalentTo(
96-
"email",
97-
"contact.MobileNumber");
98+
errKeys.ShouldBe(["email", "contact.MobileNumber"]);
9899
}
99100
}

templates/integrated/Source/MyProject.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
<ItemGroup Condition="'$(Configuration)' != 'Release'">
2929
<PackageReference Include="FakeItEasy" Version="8.3.0"/>
3030
<PackageReference Include="FastEndpoints.Testing" Version="5.33.0"/>
31-
<PackageReference Include="FluentAssertions" Version="7.0.0"/>
3231
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0"/>
32+
<PackageReference Include="Shouldly" Version="4.2.1"/>
3333
<PackageReference Include="xunit.v3" Version="1.0.0"/>
3434
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.0" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive"/>
3535
<PackageReference Include="coverlet.collector" Version="6.0.2" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive"/>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
global using FastEndpoints.Testing;
2-
global using FluentAssertions;
2+
global using Shouldly;
33
global using Xunit;

templates/project/Tests/Meta.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
global using FastEndpoints;
22
global using FastEndpoints.Testing;
3-
global using FluentAssertions;
43
global using Microsoft.Extensions.DependencyInjection;
4+
global using Shouldly;
55
global using System.Net;
66
global using Xunit;

templates/project/Tests/SayHello/Tests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ public async Task Invalid_User_Input()
1414
LastName = "y"
1515
});
1616

17-
rsp.StatusCode.Should().Be(HttpStatusCode.BadRequest);
18-
res.Errors.Count().Should().Be(2);
19-
res.Errors.Select(e => e.Name).Should().Equal("firstName", "lastName");
17+
rsp.StatusCode.ShouldBe(HttpStatusCode.BadRequest);
18+
res.Errors.Count().ShouldBe(2);
19+
res.Errors.Select(e => e.Name).ShouldBe(["firstName", "lastName"]);
2020
}
2121

2222
[Fact, Priority(2)]
@@ -29,7 +29,7 @@ public async Task Valid_User_Input()
2929
LastName = "Kelso"
3030
});
3131

32-
rsp.StatusCode.Should().Be(HttpStatusCode.OK);
33-
res.Message.Should().Be("Hello Mike Kelso...");
32+
rsp.StatusCode.ShouldBe(HttpStatusCode.OK);
33+
res.Message.ShouldBe("Hello Mike Kelso...");
3434
}
3535
}

templates/project/Tests/Tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="FastEndpoints.Testing" Version="5.33.0" />
12-
<PackageReference Include="FluentAssertions" Version="7.0.0"/>
1312
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0"/>
13+
<PackageReference Include="Shouldly" Version="4.2.1"/>
1414
<PackageReference Include="xunit.v3" Version="1.0.0"/>
1515
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.0" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
1616
<PackageReference Include="coverlet.collector" Version="6.0.2" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive"/>

templates/test/Tests/Meta.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
global using FastEndpoints;
22
global using FastEndpoints.Testing;
3-
global using FluentAssertions;
43
global using Microsoft.Extensions.DependencyInjection;
4+
global using Shouldly;
55
global using System.Net;
66
global using Xunit;

templates/test/Tests/Sample/Tests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ public class Tests : TestClass<App>
77
[Fact]
88
public void Sample_Test()
99
{
10-
(1 + 1).Should().Be(2);
10+
(1 + 1).ShouldBe(2);
1111
}
1212
}

templates/test/Tests/Tests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010

1111
<ItemGroup>
1212
<PackageReference Include="FastEndpoints.Testing" Version="5.33.0" />
13-
<PackageReference Include="FluentAssertions" Version="7.0.0" />
1413
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
15-
<PackageReference Include="xunit.v3" Version="1.0.0"/>
16-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.0" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
14+
<PackageReference Include="Shouldly" Version="4.3.0" />
15+
<PackageReference Include="xunit.v3" Version="1.0.0"/>
16+
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.0" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
1717
<PackageReference Include="coverlet.collector" Version="6.0.2" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
1818
</ItemGroup>
1919

0 commit comments

Comments
 (0)