Example #1
0
        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());
        }
Example #2
0
        public void OrganizationEntityMapper_DomainWithoutMembers_ReturnsEntity(Organization organization, OrganizationMemberEntity orgMemberEntity)
        {
            //Arrange
            var memberMapper = new Mock <IMapper <OrganizationMember, OrganizationMemberEntity> >();

            memberMapper.Setup(x => x.Map(It.IsAny <OrganizationMember>())).Returns(memberMapper.Object);
            memberMapper.Setup(x => x.ToOutFormat()).Returns(orgMemberEntity);

            var sut = new OrganizationEntityMapper(memberMapper.Object);

            //Act
            var actual = sut.Map(organization).ToOutFormat();

            //Assert
            actual.Members.Should().HaveCount(0);

            memberMapper.Verify(x => x.Map(It.IsAny <OrganizationMember>()), Times.Never);
        }
Example #3
0
        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");
        }
Example #4
0
        public void OrganizationEntityMapper_Domain_ReturnsEntity(Organization organization, OrganizationMemberEntity orgMemberEntity)
        {
            //Arrange
            var memberMapper = new Mock <IMapper <OrganizationMember, OrganizationMemberEntity> >();

            memberMapper.Setup(x => x.Map(It.IsAny <OrganizationMember>())).Returns(memberMapper.Object);
            memberMapper.Setup(x => x.ToOutFormat()).Returns(orgMemberEntity);

            var sut = new OrganizationEntityMapper(memberMapper.Object);

            //Act
            var actual = sut.Map(organization).ToOutFormat();

            //Assert
            actual.Id.Should().Be(organization.Id.Id);
            actual.Name.Should().Be(organization.Name.Name);
            organization.Address.Should().BeEquivalentTo(actual, options => options.ExcludingMissingMembers());
            organization.VatNumber.Should().BeEquivalentTo(actual, options => options.ExcludingMissingMembers());
            actual.Website.Should().Be(organization.Website);
            actual.ChangeDate.Should().Be(organization.ChangeDate);
            actual.ChangedBy.Should().Be(organization.ChangedBy);
        }