public async Task AddOrganization_Success( Organization organization, OrganizationMemberEntity memb, Mock <IMapper <OrganizationMemberEntity, OrganizationMember> > orgMemberDomainMapper ) { // Arrange var mapMember = new Mock <IMapper <OrganizationMember, OrganizationMemberEntity> >(); mapMember.Setup(x => x.Map(It.IsAny <OrganizationMember>())).Returns(mapMember.Object); mapMember.Setup(x => x.ToOutFormat()).Returns(memb); var mapDomain = new OrganizationDomainMapper(orgMemberDomainMapper.Object); var entityMapper = new OrganizationEntityMapper(mapMember.Object); var db = new InMemoryDb <OrganizationDbContext>(); var context = new OrganizationDbContext(db.GetOptions()); var repo = new ReadWriteOrganizationRepository(context, entityMapper, mapDomain, mapMember.Object); // Act await repo.AddOrganization(organization); var actual = await context.Organizations.FindAsync(organization.Id.Id); // Assert actual.Id.Should().Be(organization.Id.Id); organization.Address.Should().BeEquivalentTo(actual, options => options.ExcludingMissingMembers()); }
public void OrganizationDomainMapper_Dto_ReturnsDomain(OrganizationDto organizationDto) { //Arrange IMapper <OrganizationDto, Organization> mapper = new OrganizationDomainMapper(); //Act var org = mapper.Map(organizationDto).ToOutFormat(); //Actual // --- OrganizationId org.Id.Id.Should().Be(organizationDto.Id); // --- OrganizationName org.Name.Name.Should().Be(organizationDto.Name); // --- Address org.Address.Street.Should().Be(organizationDto.Street); org.Address.StreetExtended.Should().Be(organizationDto.StreetExtended); org.Address.PostalCode.Should().Be(organizationDto.PostalCode); org.Address.City.Should().Be(organizationDto.City); org.Address.Country.Should().Be(organizationDto.Country); // --- VatNumber org.VatNumber.VatNumberString.Should().Be(organizationDto.VatNumber); // --- Website org.Website.Should().Be(organizationDto.Website); // --- Meta org.ChangeDate.Should().Be(organizationDto.ChangeDate); org.ChangedBy.Should().Be(organizationDto.ChangedBy); }
public void OrganizationDomainMapper_EntityWithoutMembers_ReturnsDomain(OrganizationEntity organizationEntity, OrganizationMember orgMember) { //Arrange var memberMapper = new Mock <IMapper <OrganizationMemberEntity, OrganizationMember> >(); memberMapper.Setup(x => x.Map(It.IsAny <OrganizationMemberEntity>())).Returns(memberMapper.Object); memberMapper.Setup(x => x.ToOutFormat()).Returns(orgMember); var sut = new OrganizationDomainMapper(memberMapper.Object); //Act var actual = sut.Map(organizationEntity).ToOutFormat(); //Assert actual.Members.Should().HaveCount(0); memberMapper.Verify(x => x.Map(It.IsAny <OrganizationMemberEntity>()), Times.Never); }
public void OrganizationDomainMapper_Entity_ReturnsDomain(OrganizationEntity organizationEntity, OrganizationMember orgMember) { //Arrange var memberMapper = new Mock <IMapper <OrganizationMemberEntity, OrganizationMember> >(); memberMapper.Setup(x => x.Map(It.IsAny <OrganizationMemberEntity>())).Returns(memberMapper.Object); memberMapper.Setup(x => x.ToOutFormat()).Returns(orgMember); var sut = new OrganizationDomainMapper(memberMapper.Object); //Act var actual = sut.Map(organizationEntity).ToOutFormat(); //Assert actual.Id.Should().BeEquivalentTo(organizationEntity, options => options.ExcludingMissingMembers()); actual.Name.Should().BeEquivalentTo(organizationEntity, options => options.ExcludingMissingMembers()); actual.Address.Should().BeEquivalentTo(organizationEntity, options => options.ExcludingMissingMembers()); actual.VatNumber.Should().BeEquivalentTo(organizationEntity, options => options.ExcludingMissingMembers()); actual.Website.Should().Be(organizationEntity.Website); actual.ChangeDate.Should().Be(organizationEntity.ChangeDate); actual.ChangedBy.Should().Be(organizationEntity.ChangedBy); }
public async Task UpdateOrganization_OrgWithMembers_Success( List <OrganizationEntity> list, Organization organization, OrganizationMember memb, Mock <IMapper <OrganizationMember, OrganizationMemberEntity> > mapMember, VatNumber newVatNumber, List <Email> mails) { // Arrange var orgMemberDomainMapper = new Mock <IMapper <OrganizationMemberEntity, OrganizationMember> >(); var i = 0; orgMemberDomainMapper.Setup(x => x.Map(It.IsAny <OrganizationMemberEntity>())).Returns(orgMemberDomainMapper.Object); orgMemberDomainMapper.Setup(x => x.ToOutFormat()).Returns(memb); mapMember.Setup(x => x.Map(It.IsAny <OrganizationMember>())).Returns(mapMember.Object); mapMember.Setup(x => x.ToOutFormat()).Returns(new OrganizationMemberEntity { Email = mails[i] }).Callback(() => i = i++); var mapDomain = new OrganizationDomainMapper(orgMemberDomainMapper.Object); var entityMapper = new OrganizationEntityMapper(mapMember.Object); var db = new InMemoryDb <OrganizationDbContext>(); var context = new OrganizationDbContext(db.GetOptions()); var repo = new ReadWriteOrganizationRepository(context, entityMapper, mapDomain, mapMember.Object); context.Organizations.AddRange(list); context.Organizations.Add(entityMapper.Map(organization).ToOutFormat()); context.SaveChanges(); // Act organization.ChangeVatNumber(newVatNumber, DateTime.Now, "TestChanger"); await repo.UpdateAsync(organization); var actual = await context.Organizations.FindAsync(organization.Id.Id); // Assert actual.Id.Should().Be(organization.Id.Id); actual.VatNumber.Should().BeEquivalentTo(newVatNumber.VatNumberString); actual.ChangedBy.Should().Be("TestChanger"); }