using System; using ApiLol; using ApiLol.Controllers; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using StubLib; namespace Tests { public class ChampionController_UT { [Fact] public async void GetChampionTest() { ChampionController controller = new ChampionController(new Logger(new LoggerFactory()), new StubData()); } [Fact] public async void GetChampionByNameTest() { ChampionController controller = new ChampionController(new Logger(new LoggerFactory()), new StubData()); var result = await controller.GetChampionsByName("aa"); var champs = (result.Result as ObjectResult).Value as IEnumerable; Assert.True(champs.Any()); } [Fact] public async void PostChampionTest() { ChampionController controller = new ChampionController(new Logger(new LoggerFactory()), new StubData()); var result = await controller.PostChampion(new ChampionDTO { Name="Test", Bio="test", ChampClass=Model.ChampionClass.Assassin, Icon="sqdz"}); ChampionDTO? champ = (result.Result as ObjectResult).Value as ChampionDTO; Assert.NotNull(champ); } [Fact] public async void PutChampionTest() { ChampionController controller = new ChampionController(new Logger(new LoggerFactory()), new StubData()); var result = await controller.Put(new ChampionDTO { Name = "Aatrox", Bio = "test", ChampClass = Model.ChampionClass.Assassin, Icon = "sqdz" }, new ChampionDTO { Name = "Test", Bio = "test", ChampClass = Model.ChampionClass.Assassin, Icon = "sqdz" }); var champ = (result.Result as ObjectResult).Value as ChampionDTO; Assert.NotNull(champ); var result2 = await controller.Put(new ChampionDTO { Name = "blabla", Bio = "test", ChampClass = Model.ChampionClass.Assassin, Icon = "sqdz" }, new ChampionDTO { Name = "Test", Bio = "test", ChampClass = Model.ChampionClass.Assassin, Icon = "sqdz" }); var champ2 = (result.Result as ObjectResult).Value as ChampionDTO; Assert.Null(champ2); } } }