| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- using qdr.fnd.core.test;
- using Quadarax.Application.QLiberace.Base.Dtos;
- using Quadarax.Application.QLiberace.Base.Entities;
- using Quadarax.Application.QLiberace.Base.Mapper;
- using Quadarax.Application.QLiberace.Common.Dtos;
- using Quadarax.Application.QLiberace.Common.Entities.Base;
- namespace Quadarax.Application.QLiberace.Base.Tests.Mapper
- {
- [TestFixture(Category = "Mapper")]
- public class BaseMapperDtoTest : BaseTest
- {
- #region *** Contants ***
- public const string EntityName = "TestName";
- public const string EntityCode = "TestCode";
- public const string EntityDescription = "TestDescription";
- public const string EntityModifier = "TestModifier";
- public const long EntityId = -123;
- #endregion
-
- [Test]
- public void Tenant2TenantDto()
- {
- var dao = new Tenant();
- dao.Code = EntityCode;
- dao.Name = EntityName;
- dao.LastAccess = DateTime.Now;
- dao.IsLocked = true;
- SetTrackedAttributes(dao);
- // dao -> dto
- var dtoR = dao.Map<Tenant, TenantRDto>();
- Assert.IsNotNull(dtoR);
- Assert.That(dao.Id,Is.EqualTo(dtoR.Id), $"Dao2Dto Mapping problem '{nameof(dtoR.Id)}'");
- Assert.That(dao.Name, Is.EqualTo(dtoR.Name), $"Dao2Dto Mapping problem '{nameof(dtoR.Name)}'");
- Assert.That(dao.LastAccess, Is.EqualTo(dtoR.LastAccess), $"Dao2Dto Mapping problem '{nameof(dtoR.LastAccess)}'");
- Assert.That(dao.IsLocked, Is.EqualTo(dtoR.IsLocked), $"Dao2Dto Mapping problem '{nameof(dtoR.IsLocked)}'");
- var dtoW = new TenantWDto();
- dtoW.Code = EntityCode + "X";
- dtoW.Name = EntityName + "X";
- // dto -> dao
- dtoW.CopyToDto(dao);
- Assert.IsNotNull(dao);
- Assert.IsNull(dtoW.GetType().GetInterface(nameof(ITracked)), $"Write possible base for {dtoW.GetType().Name} must not be ITracked");
- Assert.That(dtoW.Name, Is.EqualTo(dao?.Name), $"Dto2Dao Mapping problem '{nameof(dtoW.Name)}'");
- }
- [Test]
- public void TenantRDto2TenantWDto()
- {
- var dao = new Tenant();
- dao.Code = EntityCode;
- dao.Name = EntityName;
- dao.LastAccess = DateTime.Now;
- dao.IsLocked = true;
- SetTrackedAttributes(dao);
- // dao -> dtoR
- var dtoR = dao.Map<Tenant, TenantRDto>();
- Assert.IsNotNull(dtoR);
- Assert.That(dao.Id,Is.EqualTo(dtoR.Id), $"Dao2Dto Mapping problem '{nameof(dtoR.Id)}'");
- Assert.That(dao.Name, Is.EqualTo(dtoR.Name), $"Dao2Dto Mapping problem '{nameof(dtoR.Name)}'");
- Assert.That(dao.LastAccess, Is.EqualTo(dtoR.LastAccess), $"Dao2Dto Mapping problem '{nameof(dtoR.LastAccess)}'");
- Assert.That(dao.IsLocked, Is.EqualTo(dtoR.IsLocked), $"Dao2Dto Mapping problem '{nameof(dtoR.IsLocked)}'");
- // dtoR -> dtoW
- var dtoW = dtoR.MapDto2Dto<TenantRDto, TenantWDto>();
- Assert.IsNotNull(dtoW);
- Assert.That(dtoW?.Name, Is.EqualTo(dtoR.Name), $"Dto2Dto Mapping problem '{nameof(dtoR.Name)}'");
- Assert.That(dtoW?.Code, Is.EqualTo(dtoR.Code), $"Dto2Dto Mapping problem '{nameof(dtoR.Code)}'");
- }
- [Test]
- public void User2UserDto()
- {
- var dao = new User();
- dao.LoginName = EntityCode;
- dao.IsLocked = true;
- SetTrackedAttributes(dao);
- // dao -> dto
- var dtoR = dao.Map<User, UserRDto>();
- Assert.IsNotNull(dtoR);
- Assert.That(dao.Id,Is.EqualTo(dtoR.Id), $"Dao2Dto Mapping problem '{nameof(dtoR.Id)}'");
- Assert.That(dao.LoginName, Is.EqualTo(dtoR.LoginName), $"Dao2Dto Mapping problem '{nameof(dtoR.LoginName)}'");
- Assert.That(dao.IsLocked, Is.EqualTo(dtoR.IsLocked), $"Dao2Dto Mapping problem '{nameof(dtoR.IsLocked)}'");
- var dtoW = new UserWDto();
- dtoW.LoginName = EntityCode + "X";
- dtoW.IsLocked = !dtoR.IsLocked;
- // dto -> dao
- dtoW.CopyToDto(dao);
- Assert.IsNotNull(dao);
- Assert.IsNull(dtoW.GetType().GetInterface(nameof(ITracked)), $"Write possible base for {dtoW.GetType().Name} must not be ITracked");
- Assert.That(dtoW.LoginName, Is.EqualTo(dao?.LoginName), $"Dto2Dao Mapping problem '{nameof(dtoW.LoginName)}'");
- Assert.That(dtoW.IsLocked, Is.EqualTo(dao?.IsLocked), $"Dto2Dao Mapping problem '{nameof(dtoW.IsLocked)}'");
- }
- [Test]
- public void UserRDto2UserWDto()
- {
- var dao = new User();
- dao.LoginName = EntityCode;
- dao.IsLocked = true;
- SetTrackedAttributes(dao);
- // dao -> dto
- var dtoR = dao.Map<User, UserRDto>();
- Assert.IsNotNull(dtoR);
- Assert.That(dao.Id,Is.EqualTo(dtoR.Id), $"Dao2Dto Mapping problem '{nameof(dtoR.Id)}'");
- Assert.That(dao.LoginName, Is.EqualTo(dtoR.LoginName), $"Dao2Dto Mapping problem '{nameof(dtoR.LoginName)}'");
- Assert.That(dao.IsLocked, Is.EqualTo(dtoR.IsLocked), $"Dao2Dto Mapping problem '{nameof(dtoR.IsLocked)}'");
-
- // dtoR -> dtoW
- var dtoW = dtoR.MapDto2Dto<UserRDto, UserWDto>();
- Assert.IsNotNull(dtoW);
- Assert.That(dtoW?.LoginName, Is.EqualTo(dtoR.LoginName), $"Dto2Dto Mapping problem '{nameof(dtoR.LoginName)}'");
- Assert.That(dtoW?.IsLocked, Is.EqualTo(dtoR.IsLocked), $"Dto2Dto Mapping problem '{nameof(dtoR.IsLocked)}'");
- Assert.IsNull(dtoW.GetType().GetInterface(nameof(ITracked)), $"Write possible base for {dtoW.GetType().Name} must not be ITracked");
- Assert.That(dtoW.LoginName, Is.EqualTo(dao?.LoginName), $"Dto2Dao Mapping problem '{nameof(dtoW.LoginName)}'");
- Assert.That(dtoW.IsLocked, Is.EqualTo(dao?.IsLocked), $"Dto2Dao Mapping problem '{nameof(dtoW.IsLocked)}'");
- }
- private void SetTrackedAttributes(QlbrcEntityTracked entity)
- {
- entity.Id = EntityId;
- entity.SetCreated(DateTime.Now.AddHours(1));
- entity.SetModify(EntityModifier);
- }
- protected override void OnSetup()
- {
- }
- protected override void OnTearDown()
- {
- }
- }
- }
|