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(); }
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"); }
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."); }