mirror of
https://github.com/morbalint/kemkas-backend.git
synced 2026-07-17 21:23:46 +00:00
add basic generated unit tests (#47)
* add basic generated unit tests * generate more tests
This commit is contained in:
+84
@@ -0,0 +1,84 @@
|
||||
using Kemkas.Web.Db.Enums;
|
||||
using Kemkas.Web.Db.Models;
|
||||
using Kemkas.Web.Services.SecondEdition.Character;
|
||||
using Kemkas.Web.Tests.Services.TestData;
|
||||
|
||||
namespace Kemkas.Web.Tests.Services.SecondEdition.Character;
|
||||
|
||||
public class Character2EDtoToDbModelServiceTests
|
||||
{
|
||||
private readonly Character2EDtoToDbModelService _sut = new();
|
||||
|
||||
[Fact]
|
||||
public void Convert_MapsDtoToEntity()
|
||||
{
|
||||
var dto = CharacterMapperTestData.Create2EDto();
|
||||
|
||||
var result = _sut.Convert(dto);
|
||||
|
||||
Assert.Equal("Belia", result.Nev);
|
||||
Assert.Equal(Jellem.Torvenyes, result.Jellem);
|
||||
Assert.Equal(Faj2E.Ember, result.Faj);
|
||||
Assert.Equal(3, result.KarakterKepzettsegek.Count());
|
||||
Assert.Equal(1, result.KarakterKepzettsegek.Count(x => x.IsTolvajKepzettseg));
|
||||
Assert.Equal(4, result.Felszereles.Count());
|
||||
Assert.Single(result.Felszereles, x => x.IsFegyver);
|
||||
Assert.Single(result.Felszereles, x => x.IsViselt);
|
||||
Assert.Single(result.Felszereles, x => x.IsCipelt);
|
||||
Assert.Single(result.Felszereles, x => x.IsAprosag);
|
||||
Assert.Equal(2, result.Szintlepesek.Count());
|
||||
Assert.Equal("kard", result.Szintlepesek.Single(x => x.KarakterSzint == 1).FegyverSpecializacio);
|
||||
Assert.Equal("szuras", result.Szintlepesek.Single(x => x.KarakterSzint == 2).FegyverSpecializacio);
|
||||
Assert.Equal(Tulajdonsag.Karizma, result.Szintlepesek.Single(x => x.KarakterSzint == 2).TulajdonsagNoveles);
|
||||
Assert.Single(result.Varazslatok);
|
||||
Assert.Equal("v_tuz", result.Varazslatok.Single().VarazslatId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Update_WhenDtoVarazslatokIsNull_ClearsSpells()
|
||||
{
|
||||
var dto = CharacterMapperTestData.Create2EDto();
|
||||
dto.Varazslatok = null;
|
||||
var original = CharacterMapperTestData.Create2EEntity();
|
||||
|
||||
_sut.Update(original, dto);
|
||||
|
||||
Assert.Empty(original.Varazslatok);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Update_ReplacesScalarFieldsAndCollections()
|
||||
{
|
||||
var dto = CharacterMapperTestData.Create2EDto();
|
||||
var original = new V2Karakter
|
||||
{
|
||||
Nev = "old",
|
||||
Jellem = Jellem.Semleges,
|
||||
Faj = Faj2E.Torpe,
|
||||
KarakterKepzettsegek = new List<V2KarakterKepzettseg>
|
||||
{
|
||||
new() { Kepzettseg = Kepzettseg2E.Historia, Karakter = null! }
|
||||
},
|
||||
Felszereles = new List<V2Felszereles>
|
||||
{
|
||||
new() { TargyId = "old", Count = 1, IsFegyver = true, Karakter = null! }
|
||||
},
|
||||
Szintlepesek = new List<V2Szintlepes>
|
||||
{
|
||||
new() { KarakterSzint = 1, Osztaly = Osztaly2E.Pap, HpRoll = 5, Karakter = null! }
|
||||
},
|
||||
Varazslatok = new HashSet<V2KarakterVarazslat>()
|
||||
};
|
||||
|
||||
_sut.Update(original, dto);
|
||||
|
||||
Assert.Equal("Belia", original.Nev);
|
||||
Assert.Equal(Jellem.Torvenyes, original.Jellem);
|
||||
Assert.Equal(Faj2E.Ember, original.Faj);
|
||||
Assert.Equal(3, original.KarakterKepzettsegek.Count());
|
||||
Assert.DoesNotContain(original.Felszereles, x => x.TargyId == "old");
|
||||
Assert.Equal(2, original.Szintlepesek.Count());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
using Kemkas.Web.Services.SecondEdition.Character;
|
||||
using Kemkas.Web.Tests.Services.TestData;
|
||||
|
||||
namespace Kemkas.Web.Tests.Services.SecondEdition.Character;
|
||||
|
||||
public class CharacterDbModelToDto2EServiceTests
|
||||
{
|
||||
private readonly CharacterDbModelToDto2EService _sut = new();
|
||||
|
||||
[Fact]
|
||||
public void Convert_MapsEntityToDto()
|
||||
{
|
||||
var entity = CharacterMapperTestData.Create2EEntity();
|
||||
|
||||
var result = _sut.Convert(entity);
|
||||
|
||||
Assert.Equal("Belia", result.Nev);
|
||||
Assert.Equal("TS", result.Jellem);
|
||||
Assert.Equal("f_2e_ember", result.Faj);
|
||||
Assert.Equal(new List<string> { "k_alkimia" }, result.Kepzettsegek);
|
||||
Assert.Equal(new List<string> { "k_osonas" }, result.Tolvajkepzettsegek);
|
||||
Assert.Equal("kard", result.Felszereles.Fegyverek.Single().Id);
|
||||
Assert.Equal("sisak", result.Felszereles.Viselt.Single().Id);
|
||||
Assert.Equal("kotel", result.Felszereles.Cipelt.Single().Id);
|
||||
Assert.Equal("gyertya", result.Felszereles.Aprosagok.Single().Id);
|
||||
Assert.Equal(2, result.Szintlepesek.Count);
|
||||
Assert.Equal("o_2e_harcos", result.Szintlepesek[0].Osztaly);
|
||||
Assert.Equal("kard", result.Szintlepesek[0].HarcosFegyver);
|
||||
Assert.Null(result.Szintlepesek[0].KalozKritikus);
|
||||
Assert.Equal("o_2e_tengeresz", result.Szintlepesek[1].Osztaly);
|
||||
Assert.Equal("szuras", result.Szintlepesek[1].KalozKritikus);
|
||||
Assert.Null(result.Szintlepesek[1].HarcosFegyver);
|
||||
Assert.Equal("t_kar", result.Szintlepesek[1].TulajdonsagNoveles);
|
||||
Assert.Equal("k_zarnyitas", result.Szintlepesek[1].TolvajExtraKepzettseg);
|
||||
Assert.NotNull(result.Varazslatok);
|
||||
Assert.Single(result.Varazslatok);
|
||||
Assert.Equal("v_tuz", result.Varazslatok[0].VarazslatId);
|
||||
Assert.False(result.IsPublic ?? true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user