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