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 UnitTestSkin { [TestClass] public class RuneControllerTest { private readonly StubData stub; private readonly SkinController skinsStub; public RuneControllerTest() { stub = new StubData(); skinsStub = new SkinController(stub, new NullLogger()); } [TestMethod] public async Task TestGetSkins() { //Arrange //Act var total = await stub.SkinsMgr.GetNbItems(); var rune = await skinsStub.Get(new PageRequest() { Offset = 0, Limit = 2 }); //Assert var objectResult = rune as OkObjectResult; Assert.IsNotNull(objectResult); } public async Task TestPostSkins() { //Arange var skinDTO = new SkinDTO { Description = "aze", Name = "zz", Image = "ee"}; //Act var SkinsResult = await skinsStub.Post(skinDTO); //Assert var objectResult = SkinsResult as CreatedAtActionResult; var Skins = objectResult?.Value as SkinDTO; Assert.IsNotNull(Skins); Assert.AreEqual("zz", Skins.Name); Assert.AreEqual("aze", Skins.Description); Assert.AreEqual("ee", Skins.Image); } [TestMethod] public async Task TestPutRune() { //Arange var skinDTO = new SkinDTO { Description = "aze", Name = "zz", Image = "ee" }; //Act var SkinsResult = await skinsStub.PutAsync(skinDTO.Name, skinDTO); //Assert var objectResult = SkinsResult as OkObjectResult; Assert.IsNull(objectResult); } [TestMethod] public async Task TestDeleteRune() { //Act var total = await stub.SkinsMgr.GetNbItems(); var SkinsResult = await skinsStub.Delete("Black"); //Assert var objectResult = SkinsResult as OkObjectResult; Assert.IsNotNull(objectResult); Assert.AreNotEqual(await stub.SkinsMgr.GetNbItems(), total); } } } }