More UT and correct error

pull/8/head
Emre KARTAL 2 years ago
parent b1ac2fccd3
commit 3794752e70

Binary file not shown.

@ -94,7 +94,7 @@ namespace ApiLol.Controllers
if (await _manager.RunesMgr.GetNbItemsByName(rune.Name) == 0) if (await _manager.RunesMgr.GetNbItemsByName(rune.Name) == 0)
{ {
return CreatedAtAction(nameof(Get), return CreatedAtAction(nameof(Get),
(await _manager.RunesMgr.AddItem(rune.ToModel()))); (await _manager.RunesMgr.AddItem(rune.ToModel())).ToDto());
} }
_logger.LogWarning($"Name : {rune.Name} is already exist"); _logger.LogWarning($"Name : {rune.Name} is already exist");
return BadRequest($"Name : {rune.Name} is already exist"); return BadRequest($"Name : {rune.Name} is already exist");
@ -122,12 +122,12 @@ namespace ApiLol.Controllers
if (name != rune.Name) if (name != rune.Name)
{ {
var dtos2 = (await _manager.RunesMgr.GetItemByName(rune.Name, 0, await _manager.RunesMgr.GetNbItems())); var dtos2 = (await _manager.RunesMgr.GetItemByName(rune.Name, 0, await _manager.RunesMgr.GetNbItems()));
if (dtos2.IsNullOrEmpty() || dtos2.Count() > 0) if (!dtos2.IsNullOrEmpty() || dtos2.Count() > 0)
{ {
return BadRequest($"New Name {rune.Name} is already exist"); return BadRequest($"New Name {rune.Name} is already exist");
} }
} }
return Ok(await _manager.RunesMgr.UpdateItem(dtos.First(),rune.ToModel())); return Ok((await _manager.RunesMgr.UpdateItem(dtos.First(), rune.ToModel())).ToDto());
} }
catch (Exception error) catch (Exception error)
@ -160,7 +160,7 @@ namespace ApiLol.Controllers
} }
[HttpGet("/countRunes")] [HttpGet("/countRunes")]
public async Task<ActionResult<int>> GetCountSkins() public async Task<ActionResult> GetCountSkins()
{ {
try try
{ {

@ -137,7 +137,7 @@ namespace ApiLol.Controllers
if (name != skin.Name) if (name != skin.Name)
{ {
var dtos2 = (await _manager.SkinsMgr.GetItemByName(skin.Name, 0, await _manager.SkinsMgr.GetNbItems())); var dtos2 = (await _manager.SkinsMgr.GetItemByName(skin.Name, 0, await _manager.SkinsMgr.GetNbItems()));
if (dtos2.IsNullOrEmpty() || dtos2.Count() > 0) if (!dtos2.IsNullOrEmpty() || dtos2.Count() > 0)
{ {
return BadRequest($"New Name {skin.Name} is already exist"); return BadRequest($"New Name {skin.Name} is already exist");
} }
@ -183,7 +183,7 @@ namespace ApiLol.Controllers
[HttpGet("/countSkins")] [HttpGet("/countSkins")]
public async Task<ActionResult<int>> GetCountSkins() public async Task<ActionResult> GetCountSkins()
{ {
try try
{ {

@ -151,7 +151,7 @@ namespace ApiLol.Controllers.v2
if (name != champion.Name) if (name != champion.Name)
{ {
var dtos2 = (await _manager.ChampionsMgr.GetItemByName(champion.Name, 0, await _manager.ChampionsMgr.GetNbItems())); var dtos2 = (await _manager.ChampionsMgr.GetItemByName(champion.Name, 0, await _manager.ChampionsMgr.GetNbItems()));
if (dtos2.IsNullOrEmpty() || dtos2.Count() > 0) if (!dtos2.IsNullOrEmpty() || dtos2.Count() > 0)
{ {
return BadRequest($"New Name {champion.Name} is already exist"); return BadRequest($"New Name {champion.Name} is already exist");
} }
@ -204,7 +204,7 @@ namespace ApiLol.Controllers.v2
} }
[HttpGet("/countChampions")] [HttpGet("/countChampions")]
public async Task<ActionResult<int>> GetCountChampions() public async Task<ActionResult> GetCountChampions()
{ {
try try
{ {

@ -26,6 +26,11 @@ namespace ApiLol.Mapper
{ {
champ.AddSkin(skin.ToModel(champ)); champ.AddSkin(skin.ToModel(champ));
} }
foreach (var skill in championDto.Skills)
{
champ.AddSkill(skill.ToModel());
}
return champ; return champ;
} }

@ -54,6 +54,13 @@ namespace ApiTests
Icon = "", Icon = "",
Image = new LargeImageDto() { Base64 = "" }, Image = new LargeImageDto() { Base64 = "" },
Skins = new List<SkinDto>() Skins = new List<SkinDto>()
{
new SkinDto() {Name = "Project", Description = "Test", Icon = "",Image = new LargeImageDto(),Price = 900 }
},
Skills = new List<SkillDto>()
{
new SkillDto() {Name = "Test skill", Description="Empty", Type = SkillTypeDto.Unknown}
}
}; };
//Act //Act
@ -66,6 +73,14 @@ namespace ApiTests
var champions = objectResult?.Value as ChampionDto; var champions = objectResult?.Value as ChampionDto;
Assert.IsNotNull(champions); Assert.IsNotNull(champions);
Assert.AreEqual("Sylas", champions.Name);
Assert.AreEqual("Project", champions.Skins.First().Name);
Assert.AreEqual("Test", champions.Skins.First().Description);
Assert.AreEqual("Test skill", champions.Skills.First().Name);
Assert.AreEqual("Empty", champions.Skills.First().Description);
} }
[TestMethod] [TestMethod]
@ -80,6 +95,13 @@ namespace ApiTests
Icon = "", Icon = "",
Image = new LargeImageDto() { Base64 = "" }, Image = new LargeImageDto() { Base64 = "" },
Skins = new List<SkinDto>() Skins = new List<SkinDto>()
{
new SkinDto() {Name = "Project", Description = "Test", Icon = "",Image = new LargeImageDto(),Price = 900 }
},
Skills = new List<SkillDto>()
{
new SkillDto() {Name = "Test skill", Description="Empty", Type = SkillTypeDto.Unknown}
}
}; };
//Act //Act
@ -121,6 +143,13 @@ namespace ApiTests
Icon = "", Icon = "",
Image = new LargeImageDto() { Base64 = "" }, Image = new LargeImageDto() { Base64 = "" },
Skins = new List<SkinDto>() Skins = new List<SkinDto>()
{
new SkinDto() {Name = "Project", Description = "Test", Icon = "",Image = new LargeImageDto(),Price = 900 }
},
Skills = new List<SkillDto>()
{
new SkillDto() {Name = "Test skill", Description="Empty", Type = SkillTypeDto.Unknown}
}
}; };
var ChampionDtoPut = new ChampionDto var ChampionDtoPut = new ChampionDto
{ {
@ -129,7 +158,8 @@ namespace ApiTests
Class = ChampionClassDto.Tank, Class = ChampionClassDto.Tank,
Icon = "", Icon = "",
Image = new LargeImageDto() { Base64 = "" }, Image = new LargeImageDto() { Base64 = "" },
Skins = new List<SkinDto>() Skins = new List<SkinDto>(),
Skills = new List<SkillDto>()
}; };
//Act //Act

@ -62,6 +62,54 @@ namespace ApiTests
} }
[TestMethod]
public async Task TestCountChampion()
{
//Arange
var ChampionDto = new ChampionDto
{
Name = "Sylas",
Bio = "Good",
Class = ChampionClassDto.Tank,
Icon = "",
Image = new LargeImageDto() { Base64 = "" },
Skins = new List<SkinDto>()
{
new SkinDto() {Name = "Project", Description = "Test", Icon = "",Image = new LargeImageDto(),Price = 900 }
},
Skills = new List<SkillDto>()
{
new SkillDto() {Name = "Test skill", Description="Empty", Type = SkillTypeDto.Unknown}
}
};
//Act
var oldTotal = await stub.ChampionsMgr.GetNbItems();
var oldResult = await champs.GetCountChampions();
await champs.Post(ChampionDto);
var objectResult = oldResult as OkObjectResult;
Assert.IsNotNull(objectResult);
var newTotal = await stub.ChampionsMgr.GetNbItems();
var newResult = await champs.GetCountChampions();
//Assert
var objectResultOld = oldResult as OkObjectResult;
Assert.IsNotNull(objectResultOld);
var objectResultNew = newResult as OkObjectResult;
Assert.IsNotNull(objectResultNew);
Assert.AreEqual(objectResultOld.Value, oldTotal);
Assert.AreNotEqual(objectResultOld.Value, newTotal);
Assert.AreEqual(objectResultNew.Value, newTotal);
Assert.AreNotEqual(objectResultNew.Value, oldTotal);
}
[TestMethod] [TestMethod]
public async Task TestPostChampion() public async Task TestPostChampion()
{ {
@ -74,6 +122,13 @@ namespace ApiTests
Icon = "", Icon = "",
Image = new LargeImageDto() { Base64 = "" }, Image = new LargeImageDto() { Base64 = "" },
Skins = new List<SkinDto>() Skins = new List<SkinDto>()
{
new SkinDto() {Name = "Project", Description = "Test", Icon = "",Image = new LargeImageDto(),Price = 900 }
},
Skills = new List<SkillDto>()
{
new SkillDto() {Name = "Test skill", Description="Empty", Type = SkillTypeDto.Unknown}
}
}; };
//Act //Act
@ -86,6 +141,14 @@ namespace ApiTests
var champions = objectResult?.Value as ChampionDto; var champions = objectResult?.Value as ChampionDto;
Assert.IsNotNull(champions); Assert.IsNotNull(champions);
Assert.AreEqual("Sylas", champions.Name);
Assert.AreEqual("Project", champions.Skins.First().Name);
Assert.AreEqual("Test", champions.Skins.First().Description);
Assert.AreEqual("Test skill", champions.Skills.First().Name);
Assert.AreEqual("Empty", champions.Skills.First().Description);
} }
[TestMethod] [TestMethod]
@ -100,15 +163,23 @@ namespace ApiTests
Icon = "", Icon = "",
Image = new LargeImageDto() { Base64 = "" }, Image = new LargeImageDto() { Base64 = "" },
Skins = new List<SkinDto>() Skins = new List<SkinDto>()
{
new SkinDto() {Name = "Project", Description = "Test", Icon = "",Image = new LargeImageDto(),Price = 900 }
},
Skills = new List<SkillDto>()
{
new SkillDto() {Name = "Test skill", Description="Empty", Type = SkillTypeDto.Unknown}
}
}; };
var ChampionDtoPut = new ChampionDto var ChampionDtoPut = new ChampionDto
{ {
Name = "Sylas", Name = "new Sylas",
Bio = "Bad", Bio = "Bad",
Class = ChampionClassDto.Tank, Class = ChampionClassDto.Tank,
Icon = "", Icon = "",
Image = new LargeImageDto() { Base64 = "" }, Image = new LargeImageDto() { Base64 = "" },
Skins = new List<SkinDto>() Skins = new List<SkinDto>(),
Skills = new List<SkillDto>()
}; };
//Act //Act
@ -123,7 +194,9 @@ namespace ApiTests
Assert.IsNotNull(champions); Assert.IsNotNull(champions);
Assert.AreNotEqual(ChampionDto.Bio, champions.Bio); Assert.AreNotEqual(ChampionDto.Bio, champions.Bio);
Assert.AreNotEqual(ChampionDto.Name, champions.Name);
Assert.AreEqual(ChampionDtoPut.Bio, champions.Bio); Assert.AreEqual(ChampionDtoPut.Bio, champions.Bio);
Assert.AreEqual(ChampionDtoPut.Name, champions.Name);
} }

@ -1,4 +1,10 @@
using System; using ApiLol.Controllers;
using DTO;
using DTO.enums;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging.Abstractions;
using StubLib;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
@ -9,5 +15,164 @@ namespace ApiTests
[TestClass] [TestClass]
public class RunesControllerTest public class RunesControllerTest
{ {
private readonly StubData stub;
private readonly RunesController runes;
public RunesControllerTest()
{
stub = new StubData();
runes = new RunesController(stub, new NullLogger<RunesController>());
}
[TestMethod]
public async Task TestGetRunes()
{
//Arrange
//Act
var total = await stub.RunesMgr.GetNbItems();
var rune = await runes.Get(new PageRequest());
//Assert
var objectResult = rune as OkObjectResult;
Assert.IsNotNull(objectResult);
var runesResult = objectResult.Value as PageResponse<RuneDto>;
Assert.IsNotNull(runesResult);
var result = runesResult.Data as IEnumerable<RuneDto>;
Assert.IsNotNull(result);
Assert.AreEqual(result.Count(), total);
Assert.AreEqual(total, runesResult.total);
}
[TestMethod]
public async Task TestPostRune()
{
//Arange
var runeDto = new RuneDto
{
Name = "Project",
Description = "Test",
Icon = "",
Image = new LargeImageDto(),
Family = RuneFamilyDto.Precision
};
//Act
var total = await stub.RunesMgr.GetNbItems();
var runesResult = await runes.Post(runeDto);
//Assert
var objectResult = runesResult as CreatedAtActionResult;
Assert.IsNotNull(objectResult);
var isRuneDto = objectResult?.Value as RuneDto;
Assert.IsNotNull(isRuneDto);
Assert.AreEqual(total + 1, await stub.RunesMgr.GetNbItems());
}
[TestMethod]
public async Task TestCountChampion()
{
//Arange
var runeDto = new RuneDto
{
Name = "Project",
Description = "Test",
Icon = "",
Image = new LargeImageDto(),
Family = RuneFamilyDto.Domination
};
//Act
var oldTotal = await stub.RunesMgr.GetNbItems();
var oldResult = await runes.GetCountSkins();
await runes.Post(runeDto);
var objectResult = oldResult as OkObjectResult;
Assert.IsNotNull(objectResult);
var newTotal = await stub.RunesMgr.GetNbItems();
var newResult = await runes.GetCountSkins();
//Assert
var objectResultOld = oldResult as OkObjectResult;
Assert.IsNotNull(objectResultOld);
var objectResultNew = newResult as OkObjectResult;
Assert.IsNotNull(objectResultNew);
Assert.AreEqual(objectResultOld.Value, oldTotal);
Assert.AreNotEqual(objectResultOld.Value, newTotal);
Assert.AreEqual(objectResultNew.Value, newTotal);
Assert.AreNotEqual(objectResultNew.Value, oldTotal);
}
[TestMethod]
public async Task TestPutSkin()
{
//Arange
var runeDto = new RuneDto
{
Name = "Project",
Description = "Test",
Icon = "",
Image = new LargeImageDto(),
Family = RuneFamilyDto.Precision
};
var runeDtoPut = new RuneDto
{
Name = "New Project",
Description = "new Test",
Icon = "",
Image = new LargeImageDto(),
Family = RuneFamilyDto.Unknown
};
//Act
await runes.Post(runeDto);
var runesResult = await runes.Put(runeDto.Name, runeDtoPut);
//Assert
var objectResult = runesResult as OkObjectResult;
Assert.IsNotNull(objectResult);
var rune = objectResult?.Value as RuneDto;
Assert.IsNotNull(rune);
Assert.AreNotEqual(runeDto.Description, rune.Description);
Assert.AreNotEqual(runeDto.Family, rune.Family);
Assert.AreEqual(runeDtoPut.Description, rune.Description);
Assert.AreEqual(runeDtoPut.Family, rune.Family);
}
[TestMethod]
public async Task TestDeleteChampion()
{
//Arange
//Act
var total = await stub.RunesMgr.GetNbItems();
var runesResult = await runes.Delete("Conqueror");
//Assert
var objectResult = runesResult as OkObjectResult;
Assert.IsNotNull(objectResult);
Assert.AreEqual(objectResult.Value, true);
Assert.AreNotEqual(await stub.RunesMgr.GetNbItems(), total);
}
} }
} }

@ -75,6 +75,47 @@ namespace ApiTests
} }
[TestMethod]
public async Task TestCountChampion()
{
//Arange
var SkinDto = new SkinDtoC
{
Name = "Project",
Description = "Test",
Icon = "",
Image = new LargeImageDto(),
Price = 900,
ChampionName = "aatrox"
};
//Act
var oldTotal = await stub.SkinsMgr.GetNbItems();
var oldResult = await skins.GetCountSkins();
await skins.Post(SkinDto);
var objectResult = oldResult as OkObjectResult;
Assert.IsNotNull(objectResult);
var newTotal = await stub.SkinsMgr.GetNbItems();
var newResult = await skins.GetCountSkins();
//Assert
var objectResultOld = oldResult as OkObjectResult;
Assert.IsNotNull(objectResultOld);
var objectResultNew = newResult as OkObjectResult;
Assert.IsNotNull(objectResultNew);
Assert.AreEqual(objectResultOld.Value, oldTotal);
Assert.AreNotEqual(objectResultOld.Value, newTotal);
Assert.AreEqual(objectResultNew.Value, newTotal);
Assert.AreNotEqual(objectResultNew.Value, oldTotal);
}
[TestMethod] [TestMethod]
public async Task TestPutSkin() public async Task TestPutSkin()
{ {
@ -90,7 +131,7 @@ namespace ApiTests
}; };
var SkinDtoPut = new SkinDtoC var SkinDtoPut = new SkinDtoC
{ {
Name = "Project", Name = "new Project",
Description = "ForTestTest", Description = "ForTestTest",
Icon = "", Icon = "",
Image = new LargeImageDto(), Image = new LargeImageDto(),
@ -109,9 +150,11 @@ namespace ApiTests
var skin = objectResult?.Value as SkinDtoC; var skin = objectResult?.Value as SkinDtoC;
Assert.IsNotNull(skin); Assert.IsNotNull(skin);
Assert.AreNotEqual(SkinDto.Name, skin.Name);
Assert.AreNotEqual(SkinDto.Description, skin.Description); Assert.AreNotEqual(SkinDto.Description, skin.Description);
Assert.AreNotEqual(SkinDto.Price, skin.Price); Assert.AreNotEqual(SkinDto.Price, skin.Price);
Assert.AreEqual(SkinDtoPut.Name, skin.Name);
Assert.AreEqual(SkinDtoPut.Description, skin.Description); Assert.AreEqual(SkinDtoPut.Description, skin.Description);
Assert.AreEqual(SkinDtoPut.Price, skin.Price); Assert.AreEqual(SkinDtoPut.Price, skin.Price);

Loading…
Cancel
Save