public void SetUp() { _housekeeper = new Housekeeper { Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c" }; var _unitOfWork = new Mock <IUnitOfWork>(); _unitOfWork.Setup(uow => uow.Query <Housekeeper>()).Returns(new List <Housekeeper> { _housekeeper }.AsQueryable()); _statementFileName = "filename"; _statementGenerator = new Mock <IStatementGenerator>(); _statementGenerator .Setup(sg => sg.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate)) .Returns(() => _statementFileName); _emailSender = new Mock <IEmailSender>(); _messageBox = new Mock <IXtraMessageBox>(); _service = new HousekeeperHelper( _unitOfWork.Object, _statementGenerator.Object, _emailSender.Object, _messageBox.Object); _statementDate = new DateTime(2017, 1, 1); }
public void Setup() { _unitOfWork = new Mock <IUnitOfWork>(); _houseKeeper = new Housekeeper { Oid = 1, Email = "a", FullName = "b", StatementEmailBody = "c" }; _unitOfWork.Setup(uow => uow.Query <Housekeeper>()).Returns(new List <Housekeeper> { _houseKeeper }.AsQueryable()); _statementFileName = "filename"; _statementGenerator = new Mock <IStatementGenerator>(); _statementGenerator .Setup(sg => sg.SaveStatement(_houseKeeper.Oid, _houseKeeper.FullName, _statementDate)) .Returns(() => _statementFileName); // NOTE: Lamda expression allows lazy loading. it means latest value of _statementFileName // is checked during test case // If we do not use lamda expression, then it will by default return 'fileName' value inititialized in previous step _emailSender = new Mock <IEmailSender>(); _messageBox = new Mock <IXtraMessageBox>(); _service = new HousekeeperHelper(_unitOfWork.Object, _statementGenerator.Object, _emailSender.Object, _messageBox.Object); }
public void SendStatementEmails_HousekeepersEmailIsNullOrWhitespace_ShouldNotGenerateStatement(string email) { _housekeeper.Email = email; HousekeeperHelper.SendStatementEmails(_statementDate, _unitOfWorkMock.Object, _housekeeperHelperRepositoryMock.Object); _housekeeperHelperRepositoryMock.Verify(hhr => hhr.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate), Times.Never); }
public void SendStatementEmails_WhenCalled_GenerateStatements() { _housekeeper.Email = "*****@*****.**"; HousekeeperHelper.SendStatementEmails(_statementDate, _unitOfWorkMock.Object, _housekeeperHelperRepositoryMock.Object); _housekeeperHelperRepositoryMock.Verify(hhr => hhr.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate)); }
public void SendStatementEmails_WhenCalled_EmailTheStatement() { _housekeeper.Email = "*****@*****.**"; HousekeeperHelper.SendStatementEmails(_statementDate, _unitOfWorkMock.Object, _housekeeperHelperRepositoryMock.Object); _housekeeperHelperRepositoryMock.Verify(hhr => hhr.EmailFile(_housekeeper.Email, _housekeeper.StatementEmailBody, _statementFilename, It.IsAny <string>())); }
public void SendStatementEmails_StatementFilenameIsEmptyOrWhiteSpaceOrNull_EmailTheStatement(string filename) { _housekeeper.Email = "*****@*****.**"; _statementFilename = filename; HousekeeperHelper.SendStatementEmails(_statementDate, _unitOfWorkMock.Object, _housekeeperHelperRepositoryMock.Object); _housekeeperHelperRepositoryMock.Verify(hhr => hhr.EmailFile(It.IsAny <string>(), It.IsAny <string>(), _statementFilename, It.IsAny <string>()), Times.Never); }
public void SendStatementEmails_StatementFoundFileSaved_ShouldCallSaveStatementShouldCallEmailAndReturnsTrue() { var statementGenerator = new Mock <IStatementGenerator>(); statementGenerator.Setup(s => s.SaveStatement(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <DateTime>())).Returns("saved"); var emailer = new Mock <IEmailer>(); emailer.Setup(e => e.Email(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())); var result = HousekeeperHelper.SendStatementEmails(unitOfWork.Object, statementGenerator.Object, emailer.Object, DateTime.Now); unitOfWork.Verify(u => u.Query <Housekeeper>()); emailer.Verify(e => e.Email(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Once); statementGenerator.Verify(s => s.SaveStatement(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <DateTime>())); Assert.That(result, Is.EqualTo(true)); }
public void SendStatementEmails_StatementNotFound_ShouldReturnsFalse() { var statementGenerator = new Mock <IStatementGenerator>(); statementGenerator.Setup(s => s.SaveStatement(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <DateTime>())).Returns(""); var emailer = new Mock <IEmailer>(); emailer.Setup(e => e.Email(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())); unitOfWork = new Mock <IUnitOfWork>(); unitOfWork.Setup(u => u.Query <Housekeeper>()).Returns(new List <Housekeeper>().AsQueryable()); var result = HousekeeperHelper.SendStatementEmails(unitOfWork.Object, statementGenerator.Object, emailer.Object, DateTime.Now); unitOfWork.Verify(u => u.Query <Housekeeper>()); //emailer.Verify(e => e.Email(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>())); //statementGenerator.Verify(s => s.SaveStatement(It.IsAny<int>(), It.IsAny<string>(), It.IsAny<DateTime>())); Assert.That(result, Is.EqualTo(false)); }
public void SetUp() { _testHouseKeeper = new Housekeeper { Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c" }; _mockDB = new Mock <IUnitOfWork>(); _mockDB.Setup(x => x.Query <Housekeeper>()).Returns(new List <Housekeeper> { _testHouseKeeper }.AsQueryable()); _filename = "filename"; _mockStatement = new Mock <IStatementGenerator>(); _mockStatement.Setup(s => s.SaveStatement(_testHouseKeeper.Oid, _testHouseKeeper.FullName, _serviceDate)) .Returns(() => _filename); _mockMB = new Mock <IXtraMessageBox>(); _mockEmail = new Mock <IEmailSender>(); _service = new HousekeeperHelper(_mockDB.Object, _mockStatement.Object, _mockEmail.Object, _mockMB.Object); }
public void Setup() { _houseKeeperRepository = new Mock <IHouseKeeperRepository>(); _houseKeeper = new Housekeeper() { Email = "a", Oid = 1, FullName = "b", StatementEmailBody = "c" }; _houseKeeperRepository.Setup(hkr => hkr.GetHousekeepers()).Returns(new List <Housekeeper> { _houseKeeper }.AsQueryable()); _statementGenerator = new Mock <IStatementGenerator>(); _emailSender = new Mock <IEmailSender>(); _messageBox = new Mock <IXtraMessageBox>(); _sendingTime = new DateTime(2020, 9, 20); _housekeeperHelper = new HousekeeperHelper(_houseKeeperRepository.Object, _statementGenerator.Object, _emailSender.Object, _messageBox.Object); }
public void SetUp() { _housekeeper = new Housekeeper { Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c" }; _unitOfWork = new Mock <IUnitOfWork>(); _statementGenerator = new Mock <IStatementGenerator>(); _emailSender = new Mock <IEmailSender>(); _messageBox = new Mock <IXtraMessageBox>(); _unitOfWork.Setup(uow => uow.Query <Housekeeper>()).Returns(new List <Housekeeper> { _housekeeper }.AsQueryable()); _housekeeperHelper = new HousekeeperHelper( _unitOfWork.Object, _statementGenerator.Object, _emailSender.Object, _messageBox.Object); }
public void Setup() { _housekeeper = new Housekeeper { Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c" }; _unitOfWork = new Mock <IUnitOfWork>(); _unitOfWork.Setup(uow => uow.Query <Housekeeper>()).Returns(new List <Housekeeper> { _housekeeper }.AsQueryable()); _statementFileName = "filename"; _houseKeeperFunctions = new Mock <IHouseKeeperFunctions>(); _xtraMessageBox = new Mock <IXtraMessageBox>(); _service = new HousekeeperHelper(_unitOfWork.Object, _houseKeeperFunctions.Object, _xtraMessageBox.Object); _houseKeeperFunctions .Setup(hk => hk.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, (_statementDate))) .Returns(() => _statementFileName); }
public void SendStatementEmails_WhenCalled_SendsEmails() { // Arrange var utilities = new Mock <IHouseKeeperUtilities>(); utilities.Setup(u => u.SaveStatement(It.IsAny <int>(), It.IsAny <string>(), DateTime.Today)).Returns("abc"); var unitOfWork = new Mock <IUnitOfWork>(); unitOfWork.Setup(u => u.Query <Housekeeper>()).Returns(new List <Housekeeper> { new Housekeeper { Email = "a", StatementEmailBody = "b", FullName = "c", Oid = 1 }, new Housekeeper { Email = "a", StatementEmailBody = "b", FullName = "c", Oid = 2 } }.AsQueryable()); HousekeeperHelper.SendStatementEmails(DateTime.Today, utilities.Object, unitOfWork.Object); utilities.Verify(u => u.SaveStatement(It.IsAny <int>(), It.IsAny <string>(), DateTime.Today), Times.Exactly(2)); utilities.Verify(u => u.EmailFile(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Exactly(2)); }