Ejemplo n.º 1
0
        public void TestThatModifyDataCallsIsNullWithHouseholdMemberOnCommonValidationsWhenHouseholdDoesHaveHouseholdMemberWithMailAddress()
        {
            ITranslationInfo translationInfoMock = DomainObjectMockBuilder.BuildTranslationInfoMock();

            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut(translationInfoMock);

            Assert.That(sut, Is.Not.Null);

            IHousehold householdMock = DomainObjectMockBuilder.BuildHouseholdMock();

            Assert.That(householdMock, Is.Not.Null);
            Assert.That(householdMock.HouseholdMembers, Is.Not.Null);
            Assert.That(householdMock.HouseholdMembers, Is.Not.Empty);

            IHouseholdMember householdMemberMock = householdMock.HouseholdMembers.ElementAt(_random.Next(0, householdMock.HouseholdMembers.Count() - 1));

            Assert.That(householdMemberMock, Is.Not.Null);
            Assert.That(householdMemberMock.MailAddress, Is.Not.Null);
            Assert.That(householdMemberMock.MailAddress, Is.Not.Empty);

            string mailAddress = householdMemberMock.MailAddress;

            Assert.That(householdMock.HouseholdMembers.Any(householdMember => string.Compare(householdMember.MailAddress, mailAddress, StringComparison.OrdinalIgnoreCase) == 0), Is.True);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, mailAddress)
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(householdMock, householdAddHouseholdMemberCommand);

            _commonValidationsMock.AssertWasCalled(m => m.IsNull(Arg <IHouseholdMember> .Is.Equal(householdMemberMock)), opt => opt.Repeat.Once());
        }
Ejemplo n.º 2
0
        public void TestThatConstructorInitializeHouseholdAddHouseholdMemberCommandHandler()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);
            Assert.That(sut.ShouldBeActivated, Is.True);
            Assert.That(sut.ShouldHaveAcceptedPrivacyPolicy, Is.True);
            Assert.That(sut.RequiredMembership, Is.EqualTo(Membership.Basic));
        }
Ejemplo n.º 3
0
        public void TestThatAddValidationRulesThrowsArgumentNullExceptionWhenHouseholdIsNull()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.AddValidationRules(null, _fixture.Create <HouseholdAddHouseholdMemberCommand>(), _specificationMock));

            TestHelper.AssertArgumentNullExceptionIsValid(result, "household");
        }
Ejemplo n.º 4
0
        public void TestThatModifyDataThrowsArgumentNullExceptionWhenHouseholdAddHouseholdMemberCommandIsNull()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), null));

            TestHelper.AssertArgumentNullExceptionIsValid(result, "command");
        }
Ejemplo n.º 5
0
        public void TestThatAddValidationRulesThrowsArgumentNullExceptionWhenSpecificationIsNull()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.AddValidationRules(DomainObjectMockBuilder.BuildHouseholdMock(), _fixture.Create <HouseholdAddHouseholdMemberCommand>(), null));

            TestHelper.AssertArgumentNullExceptionIsValid(result, "specification");
        }
Ejemplo n.º 6
0
        public void TestThatModifyDataThrowsArgumentNullExceptionWhenHouseholdIsNull()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.ModifyData(null, _fixture.Create <HouseholdAddHouseholdMemberCommand>()));

            TestHelper.AssertArgumentNullExceptionIsValid(result, "household");
        }
Ejemplo n.º 7
0
        public void TestThatModifyDataDoesNotCallGetForAnyHouseholdMemberOnHouseholdDataRepositoryWhenHouseholdMemberForMailAddressExists()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand);

            _householdDataRepositoryMock.AssertWasNotCalled(m => m.Get <IHouseholdMember>(Arg <Guid> .Is.Anything));
        }
Ejemplo n.º 8
0
        public void TestThatAddValidationRulesCallsMailAddressOnClaimValueProvider()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.AddValidationRules(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand, _specificationMock);

            _claimValueProviderMock.AssertWasCalled(m => m.MailAddress, opt => opt.Repeat.Once());
        }
Ejemplo n.º 9
0
        public void TestThatModifyDataCallsEvaluateOnSpecification()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand);

            _specificationMock.AssertWasCalled(m => m.Evaluate(), opt => opt.Repeat.Once());
        }
Ejemplo n.º 10
0
        public void TestThatModifyDataCallsIsSatisfiedByOnSpecification2Times()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand);

            _specificationMock.AssertWasCalled(m => m.IsSatisfiedBy(Arg <Func <bool> > .Is.NotNull, Arg <IntranetBusinessException> .Is.TypeOf), opt => opt.Repeat.Times(2));
        }
Ejemplo n.º 11
0
        public void TestThatAddValidationRulesDoesNotCallsEvaluateOnSpecification()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.AddValidationRules(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand, _specificationMock);

            _specificationMock.AssertWasNotCalled(m => m.Evaluate());
        }
Ejemplo n.º 12
0
        public void TestThatModifyDataCallsHouseholdMemberGetByMailAddressOnHouseholdDataRepository()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            string mailAddress = _fixture.Create <string>();
            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, mailAddress)
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand);

            _householdDataRepositoryMock.AssertWasCalled(m => m.HouseholdMemberGetByMailAddress(Arg <string> .Is.Equal(mailAddress)), opt => opt.Repeat.Once());
        }
Ejemplo n.º 13
0
        public void TestThatAddValidationRulesCallsIsMailAddressWithMailAddressOnDomainObjectValidations()
        {
            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut();

            Assert.That(sut, Is.Not.Null);

            string mailAddress = _fixture.Create <string>();
            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, mailAddress)
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.AddValidationRules(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand, _specificationMock);

            _domainObjectValidationsMock.AssertWasCalled(m => m.IsMailAddress(Arg <string> .Is.Equal(mailAddress)), opt => opt.Repeat.Once());
        }
Ejemplo n.º 14
0
        public void TestThatModifyDataCallsGetWithIdentifierForCreatedHouseholdMemberOnHouseholdDataRepositoryWhenHouseholdMemberForMailAddressDoesNotExist()
        {
            Guid createdHouseholdMemberIdentifier = Guid.NewGuid();

            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut(knownMailAddress: false, createdHouseholdMemberIdentifier: createdHouseholdMemberIdentifier);

            Assert.That(sut, Is.Not.Null);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand);

            _householdDataRepositoryMock.AssertWasCalled(m => m.Get <IHouseholdMember>(Arg <Guid> .Is.Equal(createdHouseholdMemberIdentifier)), opt => opt.Repeat.Once());
        }
Ejemplo n.º 15
0
        public void TestThatModifyDataCallsIsNotNullWithTranslationInfoOnCommonValidations()
        {
            ITranslationInfo translationInfoMock = DomainObjectMockBuilder.BuildTranslationInfoMock();

            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut(translationInfoMock);

            Assert.That(sut, Is.Not.Null);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand);

            _commonValidationsMock.AssertWasCalled(m => m.IsNotNull(Arg <ITranslationInfo> .Is.Equal(translationInfoMock)), opt => opt.Repeat.Once());
        }
Ejemplo n.º 16
0
        public void TestThatModifyDataReturnsResultFromUpdateCalledWithHouseholdOnHouseholdDataRepository()
        {
            IHousehold updatedHouseholdMock = DomainObjectMockBuilder.BuildHouseholdMock();

            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut(updatedHousehold: updatedHouseholdMock);

            Assert.That(sut, Is.Not.Null);

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            IIdentifiable result = sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand);

            Assert.That(result, Is.Not.Null);
            Assert.That(result, Is.EqualTo(updatedHouseholdMock));
        }
Ejemplo n.º 17
0
        public void TestThatAddValidationRulesCallsEqualsWithMailAddressAndCurrentUserMailAddressOnCommonValidations()
        {
            string currentUserMailAddress = _fixture.Create <string>();

            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut(currentUserMailAddress: currentUserMailAddress);

            Assert.That(sut, Is.Not.Null);

            string mailAddress = _fixture.Create <string>();
            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, mailAddress)
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.AddValidationRules(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand, _specificationMock);

            _commonValidationsMock.AssertWasCalled(m => m.Equals(Arg <string> .Is.Equal(mailAddress), Arg <string> .Is.Equal(currentUserMailAddress), Arg <StringComparison> .Is.Equal(StringComparison.OrdinalIgnoreCase)), opt => opt.Repeat.Once());
        }
Ejemplo n.º 18
0
        public void TestThatModifyDataCallsHouseholdMemberAddWithHouseholdMemberForMailAddressOnHouseholdWhenHouseholdMemberForMailAddressExists()
        {
            IHouseholdMember householdMemberForMailAddressMock = DomainObjectMockBuilder.BuildHouseholdMemberMock();

            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut(householdMemberForMailAddress: householdMemberForMailAddressMock);

            Assert.That(sut, Is.Not.Null);

            IHousehold householdMock = DomainObjectMockBuilder.BuildHouseholdMock();

            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, _fixture.Create <string>())
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(householdMock, householdAddHouseholdMemberCommand);

            householdMock.AssertWasCalled(m => m.HouseholdMemberAdd(Arg <IHouseholdMember> .Is.Equal(householdMemberForMailAddressMock)), opt => opt.Repeat.Once());
        }
Ejemplo n.º 19
0
        public void TestThatModifyDataCallsHouseholdMemberAddOnLogicExecutorWhenHouseholdMemberForMailAddressDoesNotExist()
        {
            ITranslationInfo translationInfoMock = DomainObjectMockBuilder.BuildTranslationInfoMock();

            HouseholdAddHouseholdMemberCommandHandler sut = CreateSut(translationInfoMock, false);

            Assert.That(sut, Is.Not.Null);

            string mailAddress = _fixture.Create <string>();
            HouseholdAddHouseholdMemberCommand householdAddHouseholdMemberCommand = _fixture.Build <HouseholdAddHouseholdMemberCommand>()
                                                                                    .With(m => m.HouseholdIdentifier, Guid.NewGuid())
                                                                                    .With(m => m.MailAddress, mailAddress)
                                                                                    .With(m => m.TranslationInfoIdentifier, Guid.NewGuid())
                                                                                    .Create();

            sut.ModifyData(DomainObjectMockBuilder.BuildHouseholdMock(), householdAddHouseholdMemberCommand);

            // ReSharper disable PossibleInvalidOperationException
            _logicExecutorMock.AssertWasCalled(m => m.HouseholdMemberAdd(Arg <string> .Is.Equal(mailAddress), Arg <Guid> .Is.Equal(translationInfoMock.Identifier.Value)), opt => opt.Repeat.Once());
            // ReSharper restore PossibleInvalidOperationException
        }