70 lines
2.1 KiB
C#
70 lines
2.1 KiB
C#
using Nyanlabs.Umogen.Core.Models;
|
|
|
|
namespace Nyanlabs.Umogen.CoreTests;
|
|
|
|
public class NLSerializationTests
|
|
{
|
|
private Person ModelEmployer => new("Kotek", "Miauczyński", "CBS4327563", "04281308999", new DateTime(2004, 08, 13));
|
|
|
|
private Person ModelEmployee => new("Miau", "Kotczyński", "CBS69696969", "76011694336", new DateTime(1976, 1, 16));
|
|
|
|
[Fact]
|
|
public void FullDocumentNLTest()
|
|
{
|
|
// Given
|
|
UmoDocument doc = new(UmoDoctype.CONTR_EMPLOYMENT, ModelEmployer, ModelEmployee);
|
|
|
|
// When
|
|
var query = doc.NLQuerySerialize();
|
|
|
|
// Then
|
|
Assert.Equal($"Umowa o Pracę for {ModelEmployee.NLQuerySerialize()} working for {ModelEmployer.NLQuerySerialize()}; valid for unspecified time.", query);
|
|
}
|
|
|
|
[Fact]
|
|
public void FullDocumentNLTestSpecifiedTime()
|
|
{
|
|
// Given
|
|
UmoDocument doc = new(UmoDoctype.CONTR_EMPLOYMENT, ModelEmployer, ModelEmployee, new(new DateTime(2023, 11, 17), TimeSpan.FromDays(1)));
|
|
|
|
// When
|
|
var query = doc.NLQuerySerialize();
|
|
|
|
// Then
|
|
Assert.Equal($"Umowa o Pracę for {ModelEmployee.NLQuerySerialize()} working for {ModelEmployer.NLQuerySerialize()}; valid from 17 Nov 2023 until 18 Nov 2023.", query);
|
|
}
|
|
|
|
[Fact]
|
|
public void PersonNLTest()
|
|
{
|
|
// Given
|
|
Person p = ModelEmployer;
|
|
|
|
// When
|
|
var query = p.NLQuerySerialize();
|
|
|
|
// Then
|
|
Assert.Equal("Kotek Miauczyński; PESEL 04281308999; ID series CBS4327563; born 13 Aug 2004", query);
|
|
}
|
|
|
|
private LegalEntity ModelCompany => new()
|
|
{
|
|
Name = "Nyanbyte P.S.A.",
|
|
Nip = "1313131313",
|
|
Headquarters = "Miaumiaśna 13, Miauczki",
|
|
Representative = ModelEmployer
|
|
};
|
|
|
|
[Fact]
|
|
public void CompanySerializationTest()
|
|
{
|
|
// Given
|
|
LegalEntity company = ModelCompany;
|
|
|
|
// When
|
|
var query = company.NLQuerySerialize();
|
|
|
|
// Then
|
|
Assert.Equal("Nyanbyte P.S.A.; with NIP 1313131313; located in Miaumiaśna 13, Miauczki; represented by Kotek Miauczyński", query);
|
|
}
|
|
}
|