using APILOL.Controllers.Request; using APILOL.Controllers.v1; using DTO; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging.Abstractions; using Model; using StubLib; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace TestUnitaire { [TestClass] public class UnitTestRune { [TestClass] public class RuneControllerTest { private readonly StubData stub; private readonly RuneController runesStub; public RuneControllerTest() { stub = new StubData(); runesStub = new RuneController(stub, new NullLogger()); } [TestMethod] public async Task TestGetRunes() { //Arrange //Act var total = await stub.RunesMgr.GetNbItems(); var rune = await runesStub.Get(new PageRequest() { Offset = 0, Limit = 2 }); //Assert var objectResult = rune as OkObjectResult; Assert.IsNotNull(objectResult); } [TestMethod] public async Task TestPostRune() { //Arange var RuneDTO = new RuneDTO { Description = "aze",Name="zz", Image="ee", Family= RuneFamily.Precision }; //Act var runesResult = await runesStub.Post(RuneDTO); //Assert var objectResult = runesResult as CreatedAtActionResult; Assert.IsNotNull(objectResult); var runes = objectResult?.Value as RuneDTO; Assert.IsNotNull(runes); Assert.AreEqual("zz", runes.Name); Assert.AreEqual("aze", runes.Description); Assert.AreEqual("ee", runes.Image); } [TestMethod] public async Task TestPutRune() { //Arange var RuneDTO = new RuneDTO { Description = "aze", Name = "zz", Image = "ee", Family = RuneFamily.Precision }; //Act var runesResult = await runesStub.PutAsync(RuneDTO.Name, RuneDTO); //Assert var objectResult = runesResult as OkObjectResult; Assert.IsNull(objectResult); } [TestMethod] public async Task TestDeleteRune() { //Act var total = await stub.RunesMgr.GetNbItems(); var runesResult = await runesStub.Delete("Conqueror"); //Assert var objectResult = runesResult as OkObjectResult; Assert.IsNotNull(objectResult); Assert.AreNotEqual(await stub.RunesMgr.GetNbItems(), total); } } } }