Пример #1
0
            public void AgreeToAgreementsCallsCorrectMethods()
            {
                // Arrange
                IBusinessAgreementDao businessAgreementDao = MockRepository.GenerateMock<IBusinessAgreementDao>();
                IBusinessEventDao businessEventDao = MockRepository.GenerateMock<IBusinessEventDao>();
                BusinessAgreement ukBus1Agree = new BusinessAgreement
                                                    {
                                                        BusinessId = UK_BUSINESS_1,
                                                        AgreementId = UK_AGREEMENT_ID
                                                    };
                BusinessAgreement ukBus2Agree = new BusinessAgreement
                                                    {
                                                        BusinessId = UK_BUSINESS_2,
                                                        AgreementId = UK_AGREEMENT_ID
                                                    };
                BusinessAgreement frBus1Agree = new BusinessAgreement
                                                    {
                                                        BusinessId = FR_BUSINESS_1,
                                                        AgreementId = FR_AGREEMENT_ID
                                                    };
                List<BusinessAgreement> agreementsToAgreeTo = new List<BusinessAgreement>
                                                                  {
                                                                      ukBus1Agree,
                                                                      ukBus2Agree,
                                                                      frBus1Agree
                                                                  };
                businessAgreementDao.Expect(
                    bagree =>
                    bagree.Create(
                        Arg<BusinessAgreement>.Matches(
                            ba => ba.BusinessId == ukBus1Agree.BusinessId && ba.AgreementId == ukBus1Agree.AgreementId)))
                                    .Repeat.Once();
                businessAgreementDao.Expect(
                    bagree =>
                    bagree.Create(
                        Arg<BusinessAgreement>.Matches(
                            ba => ba.BusinessId == ukBus2Agree.BusinessId && ba.AgreementId == ukBus2Agree.AgreementId)))
                                    .Repeat.Once();
                businessAgreementDao.Expect(
                    bagree =>
                    bagree.Create(
                        Arg<BusinessAgreement>.Matches(
                            ba => ba.BusinessId == frBus1Agree.BusinessId && ba.AgreementId == frBus1Agree.AgreementId)))
                                    .Repeat.Once();

                // verify 3 events created for business
                businessEventDao.Expect(
                    bEvent =>
                    bEvent.Create(
                        Arg<BusinessEvent>.Matches(
                            be =>
                            be.EventType != null &&
                            be.EventType.Code == BusinessEventTypesEnum.AcceptedBusinessAgreement.GetCode())))
                                .Repeat.Times(3);

                AgreementManager manager = new AgreementManager
                                               {
                                                   BusinessAgreementDao = businessAgreementDao,
                                                   BusinessEventDao = businessEventDao
                                               };
                // Act
                // Assert
                Assert.IsTrue(manager.AgreeToAgreements(agreementsToAgreeTo), "Should have returned true");
                businessAgreementDao.VerifyAllExpectations();
                businessEventDao.VerifyAllExpectations();
            }  
Пример #2
0
            public void GetAgreementsNotAgreedToFiltersByAgreedTo()
            {
                // Arrange
                IUserBusinessDao userBusDao = MockRepository.GenerateMock<IUserBusinessDao>();
                IAgreementDao agreementDao = MockRepository.GenerateMock<IAgreementDao>();
                IBusinessAgreementDao businessAgreementDao = MockRepository.GenerateMock<IBusinessAgreementDao>();
                Guid testUserGuid = (Guid)TestMembershipUser.ProviderUserKey;
                List<long> linkedBusinesses = new List<long>
                                                  {
                                                      UK_BUSINESS_1,
                                                      UK_BUSINESS_2,
                                                      FR_BUSINESS_1
                                                  };
                List<Agreement> agreementsForBusiness = new List<Agreement>
                                                            {
                                                                new Agreement
                                                                {
                                                                    Id = UK_AGREEMENT_ID,
                                                                    CountryId = UK_COUNTRY_ID,
                                                                    AgreementType = AgreementType.EndUserLicenceAgreement,
                                                                    BusinessIdsNeedingAgreement = new List<long>
                                                                    {
                                                                        UK_BUSINESS_1,
                                                                        UK_BUSINESS_2
                                                                    }
                                                                },
                                                                new Agreement
                                                                {
                                                                    Id = FR_AGREEMENT_ID,
                                                                    CountryId = FR_COUNTRY_ID,
                                                                    AgreementType = AgreementType.EndUserLicenceAgreement,
                                                                    BusinessIdsNeedingAgreement = new List<long>
                                                                    {
                                                                        FR_BUSINESS_1
                                                                    }
                                                                }
                                                            };
                List<BusinessAgreement> businessAgreementsThusFar = new List<BusinessAgreement>
                                                                        {
                                                                            new BusinessAgreement
                                                                            {
                                                                                BusinessId = UK_BUSINESS_2,
                                                                                AgreementId = UK_AGREEMENT_ID,
                                                                                LinkedAgreementType = AgreementType.EndUserLicenceAgreement
                                                                            },
                                                                            new BusinessAgreement
                                                                            {
                                                                                BusinessId = FR_BUSINESS_1,
                                                                                AgreementId = FR_AGREEMENT_ID,
                                                                                LinkedAgreementType = AgreementType.EndUserLicenceAgreement
                                                                            }
                                                                        };

                userBusDao.Expect(ubus => ubus.GetBusinessesForUser(Arg<Guid>.Is.Equal(testUserGuid))).Return(linkedBusinesses);

                agreementDao.Expect(
                    agree => agree.GetCurrentByListOfBusinesses(Arg<List<long>>.Is.Equal(linkedBusinesses)))
                            .Return(agreementsForBusiness);
                businessAgreementDao.Expect(
                    bagdao => bagdao.GetByBusinessIds(Arg<List<long>>.Is.Equal(linkedBusinesses)))
                                    .Return(businessAgreementsThusFar);

                AgreementManager manager = new AgreementManager
                                               {
                                                   BusinessAgreementDao = businessAgreementDao,
                                                   AgreementDao = agreementDao,
                                                   UserBusinessDao = userBusDao
                                               };
                // Act
                List<Agreement> agreements = manager.GetAgreementsNotAgreedTo(TEST_USER_NAME);

                // Assert
                userBusDao.VerifyAllExpectations();
                agreementDao.VerifyAllExpectations();
                businessAgreementDao.VerifyAllExpectations();

                Assert.AreEqual(1, agreements.Count(), "One agreement should have returned");
                Assert.AreEqual(UK_AGREEMENT_ID, agreements[0].Id, "UK agreement should still return");
                Assert.AreEqual(1, agreements[0].BusinessIdsNeedingAgreement.Count,
                                "Business ids weren't filtered");
                
            }
Пример #3
0
            public void GetAgreementsNotAgreedToReturnsNothingForOldAgreedToBusinesses()
            {
                // Arrange
                var userBusDao = new Mock<IUserBusinessDao>();
                var agreementDao = new Mock<IAgreementDao>();
                var businessAgreementDao = new Mock<IBusinessAgreementDao>();

                var linkedBusinesses = new List<long> { UK_BUSINESS_1 };

                var agreementsForBusiness = new List<Agreement>
                    {
                        new Agreement
                        {
                            Id = UK_AGREEMENT_ID,
                            CountryId = UK_COUNTRY_ID,
                            AgreementType = AgreementType.EndUserLicenceAgreement,
                            BusinessIdsNeedingAgreement = new List<long>
                            {
                                UK_BUSINESS_1
                            }
                        }
                    };

                var businessAgreementsThusFar = new List<BusinessAgreement>
                    {
                        new BusinessAgreement
                        {
                            BusinessId = UK_BUSINESS_1,
                            AgreementId = UK_OLD_AGREEMENT_ID,
                            LinkedAgreementType = AgreementType.EndUserLicenceAgreement
                        }
                    };

                userBusDao.Setup(ubus => ubus.GetBusinessesForUser(It.IsAny<Guid>())).Returns(linkedBusinesses);

                agreementDao.Setup(agree => agree.GetCurrentByListOfBusinesses(linkedBusinesses)).Returns(agreementsForBusiness);

                businessAgreementDao.Setup(bagdao => bagdao.GetByBusinessIds(linkedBusinesses)).Returns(businessAgreementsThusFar);

                var manager = new AgreementManager
                    {
                        BusinessAgreementDao = businessAgreementDao.Object,
                        AgreementDao = agreementDao.Object,
                        UserBusinessDao = userBusDao.Object
                    };

                // Act
                List<Agreement> agreements = manager.GetAgreementsNotAgreedTo(TEST_USER_NAME);

                // Assert
                userBusDao.VerifyAll();
                agreementDao.VerifyAll();
                businessAgreementDao.VerifyAll();

                Assert.IsNotNull(agreements, "List should not be null.");
                Assert.IsEmpty(agreements, "List should be empty.");
            }