updated server tests project and folder name

This commit is contained in:
StevanFreeborn
2022-06-29 12:53:34 -05:00
parent 0335b7bdda
commit 948d33292e
4 changed files with 5 additions and 5 deletions
+1
View File
@@ -0,0 +1 @@
global using Xunit;
@@ -0,0 +1,40 @@
using Microsoft.AspNetCore.Mvc;
using Moq;
using server.Controllers.v1;
using server.Models;
using server.Persistence.Repositories;
using System.Net;
namespace tests.controllers
{
public class CharactersControllerTests
{
private readonly Mock<ICharacterRepository> _mockRepo;
private readonly CharactersController _controller;
public CharactersControllerTests()
{
_mockRepo = new Mock<ICharacterRepository>();
_controller = new CharactersController(_mockRepo.Object);
}
[Fact]
public async Task GetCharactersAsync_NoFilterNoCharacters_Returns200StatusWithEmptyCollection()
{
var filter = new CharacterFilter();
_mockRepo
.Setup(repo => repo.GetCharactersAsync(filter))
.ReturnsAsync( new List<Character>());
var result = await _controller.GetCharactersAsync(filter) as ObjectResult;
var data = result?.Value as List<Character>;
_mockRepo.Verify(c => c.GetCharactersAsync(filter), Times.Once());
Assert.IsType<OkObjectResult>(result);
Assert.IsType<List<Character>>(data);
Assert.Equal(HttpStatusCode.OK, (HttpStatusCode)result.StatusCode);
Assert.Empty(data);
}
}
}
+28
View File
@@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.2.0" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\server\server.csproj" />
</ItemGroup>
</Project>