From 16059ff5d04161f66f7718682145cd16bea33cbd Mon Sep 17 00:00:00 2001 From: Alexandre Ruiz Date: Tue, 4 Jan 2022 15:01:27 +0100 Subject: [PATCH] =?UTF-8?q?TU=20g=C3=A9n=C3=A9rique=20sur=20Controller?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseControllerTest.cs | 64 +++++++++++++++++++ .../CollaborateursControllerTest.cs | 24 +++++++ .../espacecollab.backend.api.tests.csproj | 28 ++++++++ 3 files changed, 116 insertions(+) create mode 100644 Collaborateur_Epa_Back/espacecollab.backend.api.tests/BaseControllerTest.cs create mode 100644 Collaborateur_Epa_Back/espacecollab.backend.api.tests/CollaborateursControllerTest.cs create mode 100644 Collaborateur_Epa_Back/espacecollab.backend.api.tests/espacecollab.backend.api.tests.csproj diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api.tests/BaseControllerTest.cs b/Collaborateur_Epa_Back/espacecollab.backend.api.tests/BaseControllerTest.cs new file mode 100644 index 0000000..e4c609a --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.api.tests/BaseControllerTest.cs @@ -0,0 +1,64 @@ +using System.Collections.Generic; +using espacecollab.backend.api.Controllers; +using espacecollab.backend.appservices.dtos.Interfaces; +using FluentAssertions; +using Microsoft.AspNetCore.Mvc; +using Xunit; + +namespace espacecollab.backend.api.tests; + +public abstract class BaseControllerTest where T : IBaseController + where TO : class, IGenericIdApiDto +{ + protected T Controller { get; set; } + protected TO NewApiDo { get; set; } + protected TO UpdateApiDo { get; set; } + + [Fact] + public void GetAllTest() + { + ActionResult> actionResult = Controller.GetAll(); + + OkObjectResult result = actionResult.Result.Should().BeOfType().Subject; + result.Value.Should().BeOfType>(); + } + + [Fact] + public void GetByIdTest() + { + uint id = 1; + + ActionResult actionResult = Controller.GetById(id); + + OkObjectResult result = actionResult.Result.Should().BeOfType().Subject; + result.Value.Should().BeOfType(); + } + + [Fact] + public void AddTest() + { + ActionResult actionResult = Controller.Add(NewApiDo); + + OkObjectResult result = actionResult.Result.Should().BeOfType().Subject; + result.Value.Should().BeOfType().Subject.Id.Should().NotBe(0); + } + + [Fact] + public void DeleteTest() + { + uint id = 1; + + ActionResult actionResult = Controller.Delete(id); + + actionResult.Result.Should().BeOfType(); + } + + [Fact] + public void UpdateTest() + { + ActionResult actionResult = Controller.Update(UpdateApiDo.Id, UpdateApiDo); + + OkObjectResult result = actionResult.Result.Should().BeOfType().Subject; + result.Value.Should().BeOfType().Subject.Id.Should().Be(UpdateApiDo.Id); + } +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api.tests/CollaborateursControllerTest.cs b/Collaborateur_Epa_Back/espacecollab.backend.api.tests/CollaborateursControllerTest.cs new file mode 100644 index 0000000..0a02142 --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.api.tests/CollaborateursControllerTest.cs @@ -0,0 +1,24 @@ +using espacecollab.backend.api.Controllers; +using espacecollab.backend.appservices; +using espacecollab.backend.appservices.dtos; +using espacecollab.backend.appservices.dtos.Values; +using espacecollab.backend.infrastructure.fake; +using System; + +namespace espacecollab.backend.api.tests; + +public class CollaborateursControllerTest : BaseControllerTest +{ + public CollaborateursControllerTest() + { + Controller = new CollaborateursController(new CollaborateursService(new FakeCollaborateurRepository())); + + NewApiDo = new CollaborateurApiDto(0, "Dupont", "Jean", new DateTime(1980, 12, 10), + EnumGenreApi.MASCULIN, EnumStatutApi.NONCADRE, 0, "1 rue du Louvre, 63000, Clermont-Ferrand", "0660258644", + "jean.dupont@gmail.com", "jean.dupont@apside-groupe.com", new DateTime(2023, 12, 17), 2, 1); + + UpdateApiDo = new CollaborateurApiDto(1, "Dupont 2", "Jean", new DateTime(1980, 12, 10), + EnumGenreApi.MASCULIN, EnumStatutApi.NONCADRE, 0, "1 rue du Louvre, 63000, Clermont-Ferrand", "0660258644", + "jean.dupont@gmail.com", "jean.dupont@apside-groupe.com", new DateTime(2023, 12, 17), 2, 1); + } +} \ No newline at end of file diff --git a/Collaborateur_Epa_Back/espacecollab.backend.api.tests/espacecollab.backend.api.tests.csproj b/Collaborateur_Epa_Back/espacecollab.backend.api.tests/espacecollab.backend.api.tests.csproj new file mode 100644 index 0000000..0bdabab --- /dev/null +++ b/Collaborateur_Epa_Back/espacecollab.backend.api.tests/espacecollab.backend.api.tests.csproj @@ -0,0 +1,28 @@ + + + + net6.0 + enable + + false + + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + +