コード例 #1
0
        public void Setup()
        {
            _housekeeper = new Housekeeper
            {
                Email              = "a",
                FullName           = "b",
                Oid                = 1,
                StatementEmailBody = "c"
            };

            unitOfWork = new Mock <IUnitOfWork>();

            unitOfWork.Setup(r => r.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 <IMessageBox>();
            _housekeeperService = new HousekeeperService(unitOfWork.Object, statementGenerator.Object, emailSender.Object, messageBox.Object);
        }
        public void SetUp()
        {
            _housekeeper = new Housekeeper {
                Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c"
            };

            var repository = new Mock <IHousekeeperRepository>();

            repository.Setup(r => r.GetHousekeepers()).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 HousekeeperService(
                repository.Object,
                _statementGenerator.Object,
                _emailSender.Object,
                _messageBox.Object);
        }
コード例 #3
0
        public void Setup()
        {
            _housekeeper = new Housekeeper {
                Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c"
            };

            _unitOfWork = new Mock <IUnitOfWork>();
            _unitOfWork.Setup(s => s.Query <Housekeeper>()).Returns(new List <Housekeeper>
            {
                _housekeeper
            }.AsQueryable());

            _statementFileName = "filename";

            _statementGenerator = new Mock <IStatementGenerator>();
            _statementGenerator.Setup(v => v.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate))
            .Returns(() => _statementFileName);

            _emailSender = new Mock <IEmailSender>();
            _emailSender.Setup(v => v.EmailFile(It.IsAny <string>(),
                                                It.IsAny <string>(),
                                                It.IsAny <string>(),
                                                It.IsAny <string>()))
            .Throws <Exception>();

            _messageBox = new Mock <IXtraMessageBox>();

            service = new HousekeeperService(_unitOfWork.Object,
                                             _statementGenerator.Object,
                                             _emailSender.Object,
                                             _messageBox.Object);
        }
コード例 #4
0
        public void SetUp()
        {
            _housekeeper = new Housekeeper {
                Email = "a", FullName = "b", StatementEmailBody = "c", Oid = 1
            };

            _uow = new Mock <IUnitOfWork>();
            _uow.Setup(h => h.Query <Housekeeper>()).Returns(new List <Housekeeper>
            {
                _housekeeper
            }.AsQueryable);

            _statement = new Mock <IStatementGenerator>();
            _fileName  = "fileName";
            _statement
            .Setup(s => s.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDateTime))
            .Returns(() => _fileName);

            _emailSender = new Mock <IEmailSender>();
            _messageBox  = new Mock <IXtraMessageBox>();

            _service = new HousekeeperService(
                _uow.Object,
                _statement.Object,
                _emailSender.Object,
                _messageBox.Object);
        }
コード例 #5
0
        public HousekeeperServiceTests()
        {
            _houseKeeper = new Housekeeper {
                Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c"
            };

            var unitOfWork = new Mock <IUnitOfWork>();

            unitOfWork.Setup(uof => uof.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);     // lazy evauation

            _emailSender = new Mock <IEmailSender>();
            _messageBox  = new Mock <IXtraMessageBox>();

            _service = new HousekeeperService(unitOfWork.Object,
                                              _statementGenerator.Object,
                                              _emailSender.Object,
                                              _messageBox.Object);
        }
コード例 #6
0
        public void Setup()
        {
            _housekeeper = new Housekeeper {
                Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c"
            };

            var storage = new Mock <IHouseKeeperRepository>();

            storage.Setup(s => s.GetHousekeepers()).Returns(new List <Housekeeper>
            {
                _housekeeper
            }.AsQueryable());

            _statementFileName = "filename";
            _generator         = new Mock <IStatementReportGenerator>();
            _generator
            .Setup(g => g.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate))
            .Returns(() => _statementFileName);

            _emailHelper = new Mock <IEmailHelper>();
            _messageBox  = new Mock <IXtraMessageBox>();

            _service = new HousekeeperService(
                storage.Object,
                _generator.Object,
                _emailHelper.Object,
                _messageBox.Object);
        }
コード例 #7
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());

            _statementGenerator = new Mock <IStatementGenerator>();
            _emailSender        = new Mock <IEmailSender>();
            _messageBox         = new Mock <IXtraMessageBox>();


            _service = new HousekeeperService(
                unitOfWork.Object,
                _statementGenerator.Object,
                _emailSender.Object,
                _messageBox.Object);
        }
コード例 #8
0
        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";
            _statementGenerator = new Mock <IStatementGenerator>();
            _statementGenerator
            .Setup(sg => sg.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _testDate))
            .Returns(() => _statementFilename);

            _emailSender = new Mock <IEmailSender>();
            _messageBox  = new Mock <IXtraMessageBox>();

            _service = new HousekeeperService(
                _unitOfWork.Object,
                _statementGenerator.Object,
                _emailSender.Object,
                _messageBox.Object
                );
        }
コード例 #9
0
        public void Setup()
        {
            _date = new DateTime(2000, 1, 1);
            _statementFileName = "hi_there";
            _housekeeper       = new Housekeeper
            {
                Email = "a@a", FullName = "faa", Oid = 123, StatementEmailBody = "body"
            };

            _statementGenerator = new Mock <IStatementGenerator>();
            _statementGenerator.Setup(s => s.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _date))
            .Returns(() => _statementFileName);     // lazy evaluation

            var list = new List <Housekeeper> {
                _housekeeper
            };
            var unitOfWork = new Mock <IUnitOfWork>();

            unitOfWork.Setup(u => u.Query <Housekeeper>()).Returns(list.AsQueryable);

            _emailSender = new Mock <IEmailSender>();
            _messageBox  = new Mock <IXtraMessageBox>();
            _service     = new HousekeeperService(unitOfWork.Object,
                                                  _statementGenerator.Object,
                                                  _emailSender.Object,
                                                  _messageBox.Object);
        }
コード例 #10
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);

            _statement = new Mock <IStatementGenerator>();
            _statement
            .Setup(sg => sg.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate))
            .Returns(() => _filename);     //We want to return a Null Function, not Null String for this Mock
            //Also with this Lazy Evaluation, this evaluation will be evaluated later
            _email       = new Mock <IEmailSender>();
            _xtraMessage = new Mock <IXtraMessageBox>();

            _service = new HousekeeperService(
                unitOfWork.Object,
                _statement.Object,
                _email.Object, _xtraMessage.Object);
        }
コード例 #11
0
        public void SendStatementEmails_WhenUsed_GenerateStatement()
        {
            Mock<IUnitOfWork> unitOfWork = new Mock<IUnitOfWork>();
            unitOfWork.Setup(uow => uow.Query<Housekeeper>())
                .Returns(new List<Housekeeper>() {
                    new Housekeeper
                    {
                        Email = "a",
                        Oid = 1,
                        FullName = "b",
                        StatementEmailBody = "c"
                    }
                }.AsQueryable);

            Mock<IStatementGenerator> statementGenerator = new Mock<IStatementGenerator>();
            Mock<IEmailSender> emailSender = new Mock<IEmailSender>();
            Mock<IXtraMessageBox> messageBox = new Mock<IXtraMessageBox>();

            HousekeeperService service = new HousekeeperService(
                unitOfWork.Object,
                statementGenerator.Object,
                emailSender.Object,
                messageBox.Object
                );

            service.SendStatementEmails(new DateTime(2019, 07, 04));
            statementGenerator.Verify(sg => sg.SaveStatement(1, "b", new DateTime(2019, 07, 04)));
        }
コード例 #12
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"; // value for happy path.
            _statementGenerator = new Mock <IStatementGenerator>();
            _statementGenerator
            .Setup(sg => sg.SaveStatement(_houseKeeper.Oid, _houseKeeper.FullName, _statementDate))
            .Returns(() => _statementFilename);     // lambda expression for lazy evaluation. i.e. when test method
                                                    // changes the value of _statementFilename it uses the new value
                                                    // when this code is run, not the value assigned before.

            _emailSender = new Mock <IEmailSender>();
            _messageBox  = new Mock <IXtraMessageBox>();

            _service = new HousekeeperService(
                unitOfWork.Object,
                _statementGenerator.Object,
                _emailSender.Object,
                _messageBox.Object);
        }
コード例 #13
0
        public void SetUp()
        {
            _houseKeeper = new Housekeeper
            {
                Email              = "a",
                FullName           = "b",
                Oid                = 1,
                StatementEmailBody = "c"
            };

            _unitOfWorkMock = new Mock <IUnitOfWorkRepository>();
            _unitOfWorkMock.Setup(ouw => ouw.Query <Housekeeper>()).Returns(new List <Housekeeper>
            {
                _houseKeeper
            }.AsQueryable());

            _statementFileName      = "fileName";
            _statementGeneratorMock = new Mock <IStatementGenerator>();
            _statementGeneratorMock
            .Setup(sg => sg.SaveStatement(_houseKeeper.Oid, _houseKeeper.FullName, _statementDate))
            .Returns(() => _statementFileName);

            _emailServiceMock   = new Mock <IEmailService>();
            _xtraMessageBoxMock = new Mock <IXtraMessageBox>();

            _service = new HousekeeperService(
                _unitOfWorkMock.Object,
                _statementGeneratorMock.Object,
                _emailServiceMock.Object,
                _xtraMessageBoxMock.Object);
        }
コード例 #14
0
        public void SendStatementEmails_StatementFileNameIsNullOrWhiteSpace_ShouldNotSendEmail(string statementFileName)
        {
            _statementFilename = statementFileName;

            HousekeeperService.SendStatementEmails(_statementDate);

            _emailSender.Verify(es => es.EmailFile(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
コード例 #15
0
        public void SendStatementEmails_HousekeeperEmailIsNullOrWhiteSpace_ShouldNotGenerateStatementOrSendEmail(string email)
        {
            _housekeeper.Email = email;

            HousekeeperService.SendStatementEmails(_statementDate);

            _statementGenerator.Verify(sg => sg.SaveStatement(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <DateTime>()), Times.Never);
            _emailSender.Verify(es => es.EmailFile(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
コード例 #16
0
        public void SendStatementEmails_WhenCalled_SendsEmail()
        {
            HousekeeperService.SendStatementEmails(_statementDate,
                                                   _housekeeperStore.Object, _emailFileSender.Object,
                                                   _statementSaver.Object, _xtraMessageBox.Object);

            _emailFileSender.Verify(eFS => eFS.EmailFile(
                                        _housekeeper.Email, _housekeeper.StatementEmailBody,
                                        _fileName, It.IsAny <string>()));
        }
コード例 #17
0
        public void SendStatementEmails_WhenCalled_EmailTheStatement()
        {
            HousekeeperService.SendStatementEmails(_statementDate);

            _emailSender.Verify(es => es.EmailFile(
                                    _housekeeper.Email,
                                    _housekeeper.StatementEmailBody,
                                    _statementFilename,
                                    It.IsAny <string>()));
        }
コード例 #18
0
        public void SendStatementEmails_StatementIsNullOrEmpty_DontSendEmail(string fileName)
        {
            _fileName = fileName;
            HousekeeperService.SendStatementEmails(_statementDate,
                                                   _housekeeperStore.Object, _emailFileSender.Object,
                                                   _statementSaver.Object, _xtraMessageBox.Object);

            _emailFileSender.Verify(eFS => eFS.EmailFile(
                                        It.IsAny <string>(), It.IsAny <string>(),
                                        It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
コード例 #19
0
        public void SendStatementEmails_EmailIsNotNull_SaveStatement()
        {
            HousekeeperService.SendStatementEmails(_statementDate,
                                                   _housekeeperStore.Object, _emailFileSender.Object,
                                                   _statementSaver.Object, _xtraMessageBox.Object);

            _statementSaver.Verify(sS => sS.SaveStatement(
                                       _housekeeper.Oid,
                                       _housekeeper.FullName,
                                       _statementDate
                                       ));
        }
コード例 #20
0
        public void SendStatementEmails_EmailFileFails_ShowMessageBox()
        {
            _emailSender.Setup(es => es.EmailFile(
                                   It.IsAny <string>(),
                                   It.IsAny <string>(),
                                   It.IsAny <string>(),
                                   It.IsAny <string>()))
            .Throws <Exception>();

            HousekeeperService.SendStatementEmails(_statementDate);

            _messageBox.Verify(xmb => xmb.Show(It.IsAny <string>(), It.IsAny <string>(), MessageBoxButtons.OK));
        }
コード例 #21
0
        public void SendStatementEmails_EmailIsNull_DontSaveStatement(string email)
        {
            _housekeeper.Email = email;

            HousekeeperService.SendStatementEmails(_statementDate,
                                                   _housekeeperStore.Object, _emailFileSender.Object,
                                                   _statementSaver.Object, _xtraMessageBox.Object);

            // _statementSaver.VerifyNoOtherCalls();
            _statementSaver.Verify(sS => sS.SaveStatement(
                                       It.IsAny <int>(), It.IsAny <string>(), It.IsAny <DateTime>()
                                       ), Times.Never);
        }
コード例 #22
0
        public void SendStatementEmails_WhenSendEmailException_ShowsMessageBox()
        {
            _emailFileSender.Setup(eFS => eFS.EmailFile(
                                       _housekeeper.Email, _housekeeper.StatementEmailBody,
                                       _fileName, It.IsAny <string>())).Throws <Exception>();

            HousekeeperService.SendStatementEmails(_statementDate,
                                                   _housekeeperStore.Object, _emailFileSender.Object,
                                                   _statementSaver.Object, _xtraMessageBox.Object);

            _xtraMessageBox.Verify(xMB => xMB.Show(
                                       It.IsAny <string>(),
                                       It.IsAny <string>(),
                                       MessageBoxButtons.OK));
        }
コード例 #23
0
 public void SetUp()
 {
     _housekeeper = new Housekeeper {
         Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c"
     };
     _repository = new Mock <IHouseKeeperRepository>();
     _repository.Setup(r => r.GetHouseKeepers()).Returns(new List <Housekeeper>
     {
         _housekeeper
     }
                                                         .AsQueryable());
     _statementHelper   = new Mock <IStatementHelper>();
     _emailHelper       = new Mock <IEmailHelper>();
     _xtraMessageHelper = new Mock <IXtraMessageBox>();
     _service           = new HousekeeperService(_repository.Object, _emailHelper.Object, _statementHelper.Object, _xtraMessageHelper.Object);
 }
コード例 #24
0
        public void SetUp()
        {
            //Arrange
            _houseKeeper = new Housekeeper()
            {
                Oid                = 1,
                Email              = "a",
                FullName           = "b",
                StatementEmailBody = "c"
            };
            _unitOfWorkMock = new Mock <IUnitOfWork>();
            _unitOfWorkMock
            .Setup(u => u.Query <Housekeeper>())
            .Returns(new List <Housekeeper>()
            {
                _houseKeeper
            }.AsQueryable);


            _statementFilename      = "filename";
            _statementGeneratorMock = new Mock <IStatementGenerator>();
            _statementGeneratorMock
            .Setup(sg => sg.SaveStatement(
                       _houseKeeper.Oid,
                       _houseKeeper.FullName,
                       _statementDate))
            .Returns(() => _statementFilename);


            _emailSenderMock    = new Mock <IEmailSender>();
            _xtraMessageBoxMock = new Mock <IXtraMessageBox>();

            //service
            _houseKeeperService = new HousekeeperService(
                _unitOfWorkMock.Object,
                _statementGeneratorMock.Object,
                _emailSenderMock.Object,
                _xtraMessageBoxMock.Object);
        }
コード例 #25
0
        public void SendStatmentEmails_WhenCalled_GenerateStatements()
        {
            var unitOfWork = new Mock <IUnitOfWork>();

            unitOfWork.Setup(uow => uow.Query <Housekeeper>()).Returns(new List <Housekeeper>
            {
                new Housekeeper {
                    Email = "a", FullName = "b", Oid = 1, StatementEmailBody = "c"
                }
            }.AsQueryable());

            var statementGenerator = new Mock <IStatementGenerator>();
            var emailSender        = new Mock <IEmailSender>();
            var messageBox         = new Mock <IXtraMessageBox>();

            var service = new HousekeeperService(
                unitOfWork.Object,
                statementGenerator.Object,
                emailSender.Object,
                messageBox.Object);

            service.SendStatementEmails(new DateTime(2017, 1, 1));
            statementGenerator.Verify(sg => sg.SaveStatement(1, "b", (new DateTime(2017, 1, 1))));
        }
コード例 #26
0
        public void SendStatementEmails_WhenCalled_GenerateStatement()
        {
            HousekeeperService.SendStatementEmails(_statementDate);

            _statementGenerator.Verify(sg => sg.SaveStatement(_housekeeper.Oid, _housekeeper.FullName, _statementDate));
        }
コード例 #27
0
 public void SendStatementEmails_StatementIsNullOrWhiteSpace_DontSendEmail()
 {
     HousekeeperService.SendStatementEmails(_statementDate,
                                            _housekeeperStore.Object, _emailFileSender.Object,
                                            _statementSaver.Object, _xtraMessageBox.Object);
 }