testpartiGet
continuous-integration/drone/push Build is failing Details

pull/12/head
etudiant 2 years ago
parent fc71fca415
commit 1cc2fdba95

@ -22,11 +22,13 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
</PackageReference> </PackageReference>
<PackageReference Include="FluentAssertions" Version="6.9.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\BowlingApi\BowlingApi.csproj" /> <ProjectReference Include="..\..\BowlingApi\BowlingApi.csproj" />
<ProjectReference Include="..\..\BowlingService\BowlingService.csproj" /> <ProjectReference Include="..\..\BowlingService\BowlingService.csproj" />
<ProjectReference Include="..\..\DTOs\DTOs.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -35,4 +37,7 @@
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Remove="FluentAssertions" />
</ItemGroup>
</Project> </Project>

@ -0,0 +1,93 @@
using DTOs;
using FluentAssertions;
namespace BowlingAPITest
{
public class TestPartiControlleur
{
[Fact]
public async void Get_ShouldReturnOkResult()
{
// Arrange
var partie1 = new PartieDTO { Score=1 };
var partie2 = new PartieDTO { Score = 2 };
var parti = GetTestItems();
var mockService = new Mock<IpartieService>();
mockService.Setup(service => service.GetAll()).ReturnsAsync(parti);
var controller = new PartieController(mockService.Object);
// Act
var result = await controller.Get() as OkObjectResult;
var value = result.Value as List<PartieDTO>;
// Assert
result.Should().NotBeNull();
value.Should().NotBeNull();
result.StatusCode.Should().Be(200);
value.Should().BeEquivalentTo(parti);
}
[Fact]
public async void Get_ShouldReturnAllItems()
{
// Arrange
var testItems = GetTestItems();
var mockService = new Mock<IpartieService>();
mockService.Setup(service => service.GetAll()).ReturnsAsync(testItems);
var controller = new PartieController(mockService.Object);
// Act
var result = await controller.Get();
// Assert
var okResult = result as OkObjectResult;
var items = Assert.IsType<List<PartieDTO>>(okResult.Value);
Assert.Equal(2, items.Count);
}
private IEnumerable<PartieDTO> GetTestItems()
{
var testItems = new List<PartieDTO>();
testItems.Add(new PartieDTO { Score = 1 });
testItems.Add(new PartieDTO { Score = 2 });
return testItems;
}
[Fact]
public async Task Get_With_Invalid_Name_Should_Return_BadRequest()
{
// Arrange
var PartieController = new PartieController(null);
// Act
var result = await PartieController.Get(null);
// Assert
result.Should().BeOfType<BadRequestObjectResult>();
var badRequestResult = result as BadRequestObjectResult;
badRequestResult.Value.Should().Be("Le score de la partie est obligatoire");
}
[Fact]
public async Task Get_With_Valid_Name_Should_Return_Ok_With_partie()
{
// Arrange
var parti = new PartieDTO { Id = 1, Score = 1 };
var partiservicemock = new Mock<IpartieService>();
partiservicemock.Setup(x => x.GetDataWithName("John Doe")).ReturnsAsync(parti);
var particontrolleur = new PartieController(partiservicemock.Object);
// Act
var result = await particontrolleur.Get("John Doe");
// Assert
result.Should().BeOfType<OkObjectResult>();
var okResult = result as OkObjectResult;
okResult.Value.Should().BeEquivalentTo(parti);
}
}
}
Loading…
Cancel
Save