예제 #1
0
        public void Invoke_EmptyGuid_DeleteNorSaveAreCalled()
        {
            // prepare
            var mockedEmailRepository = new Mock <IEmailRepository>();
            var mockedUnitOfWork      = new Mock <IUnitOfWork>();

            var action = new DeleteEmailMessageById(mockedEmailRepository.Object, mockedUnitOfWork.Object);

            // action
            var result = action.Invoke(new Guid());

            // assert
            Assert.False(result);
            mockedEmailRepository.Verify(r => r.GetById(It.IsAny <Guid>()), Times.Never);
            mockedEmailRepository.Verify(r => r.Delete(It.IsAny <EmailMessage>()), Times.Never);
            mockedUnitOfWork.Verify(r => r.Save(), Times.Never);
        }
예제 #2
0
        public void Invoke_ValidData_DeleteAndSaveAreCalled()
        {
            // prepare
            var guid          = Guid.NewGuid();
            var messageFromDb = new EmailMessage
            {
                Id = guid
            };

            var mockedEmailRepository = new Mock <IEmailRepository>();

            mockedEmailRepository.Setup(r => r.GetById(guid)).Returns(messageFromDb);
            var mockedUnitOfWork = new Mock <IUnitOfWork>();

            var action = new DeleteEmailMessageById(mockedEmailRepository.Object, mockedUnitOfWork.Object);

            // action
            var result = action.Invoke(guid);

            // assert
            Assert.True(result);
            mockedEmailRepository.Verify(r => r.Delete(It.IsAny <EmailMessage>()), Times.Once());
            mockedUnitOfWork.Verify(r => r.Save(), Times.Once());
        }