Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        public void SendStatementEmails_WhenCalled_GenerateStatements()
        {
            _housekeeper.Email = "*****@*****.**";

            HousekeeperHelper.SendStatementEmails(_statementDate,
                                                  _unitOfWorkMock.Object, _housekeeperHelperRepositoryMock.Object);

            _housekeeperHelperRepositoryMock.Verify(hhr => hhr.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate));
        }
Example #5
0
        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>()));
        }
Example #6
0
        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));
        }
Example #9
0
        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);
        }
Example #10
0
        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));
        }