public void When_handle_Then_should_call_correct_methods()
        {
            //Given
            var handler = CreateTarget();
            var message = new EmployeeChecklistEmailGenerated()
                              {
                                  EmployeeChecklistIds = new List<Guid>(),
                                  EmployeeChecklistEmailId = Guid.NewGuid(),
                                  Message = "Message",
                                  RecipientEmail = "*****@*****.**"
                              };

            //When
            handler.Handle(message);

            //Then
            _emailSender.Verify(x => x.Send(It.IsAny<RazorEmailResult>()));
        }
        public void Given_a_message_override_has_not_been_specified_When_Handle_Then_message_override_email_address_is_used()
        {
            //Given
            EmployeeChecklistEmailGeneratedViewModel viewModel = null;

            var handler = new Mock<EmployeeChecklistEmailGeneratedHandler>(new object[] { _emailSender.Object, _emailLinkBaseUrlConfiguration.Object }) { CallBase = true };
            
            handler.Setup(x => x.CreateRazorEmailResult(It.IsAny<EmployeeChecklistEmailGeneratedViewModel>()))
                .Callback<EmployeeChecklistEmailGeneratedViewModel>(x => viewModel = x);

            var message = new EmployeeChecklistEmailGenerated()
            {
                EmployeeChecklistIds = new List<Guid>(),
                EmployeeChecklistEmailId = Guid.NewGuid(),
                Message = "Message",
                RecipientEmail = "*****@*****.**"
            };

            //When
            handler.Object.Handle(message);

            //Then
            Assert.AreEqual(message.RecipientEmail, viewModel.To);
        }