installed Moq

This commit is contained in:
Ruidy Nemausat 2020-02-21 10:54:33 +01:00
parent 4e4cc5567b
commit 57880ab9ae
3 changed files with 37 additions and 4 deletions

View file

@ -50,6 +50,7 @@ namespace TicketManager.Controllers
/// GET: api/Projects/2 /// GET: api/Projects/2
/// ///
/// </remarks> /// </remarks>
/// <param name="id">Identifier of the ressource</param>
/// <response code="200">Returns a specific project</response> /// <response code="200">Returns a specific project</response>
/// <response code="404">If the required project is null</response> /// <response code="404">If the required project is null</response>
[HttpGet("{id}")] [HttpGet("{id}")]

View file

@ -1,21 +1,52 @@
using System; using System;
using Xunit; using Xunit;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks;
using Moq;
using TicketManager.Controllers; using TicketManager.Controllers;
using TicketManager.Data; using TicketManager.Data;
using TicketManager.Models; using TicketManager.Models;
namespace TicketManager.Tests namespace TicketManager.Tests
{ {
public class ProjectsControllerTests public class ProjectsControllerTests
{ {
[Fact]
public async Task Get_ReturnsAListofProjects()
public ProjectsControllerTests()
{ {
// _context = context; // Arrange
var mockRepo = new Mock<IProjectRepository>();
mockRepo.Setup(r => r.List())
.ReturnsAsync(GetTestProjects());
var controller = new ProjectsController(mockRepo.Object);
// Act
var result = await controller.GetProjects();
// Assert
var viewResult = Assert.IsAssignableFrom<IEnumerable<Project>>(result);
} }
private List<Project> GetTestProjects()
{
var projects = new List<Project>();
projects.Add(new Project()
{
PlannedEnding = new DateTime(2016, 7, 2),
Id = 1,
Title = "Test One",
});
projects.Add(new Project()
{
PlannedEnding = new DateTime(2016, 7, 1),
Id = 2,
Title = "Test Two"
});
return projects;
}
// [Fact] // [Fact]
// public void Get_ReturnsProjectList() // public void Get_ReturnsProjectList()
// { // {

View file

@ -28,6 +28,7 @@
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.0" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.0" />
<PackageReference Include="Microsoft.OpenApi" Version="1.1.4" /> <PackageReference Include="Microsoft.OpenApi" Version="1.1.4" />
<PackageReference Include="Moq" Version="4.13.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0" /> <PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="5.0.0" /> <PackageReference Include="Swashbuckle.AspNetCore.Newtonsoft" Version="5.0.0" />
<PackageReference Include="Xunit" Version="2.4.1" /> <PackageReference Include="Xunit" Version="2.4.1" />