public ChangePasswordEmail(SendEmailToChangePasswordCommand command, ApimDeveloperMessagingConfiguration config) { TemplateId = config.ChangePasswordTemplateId; RecipientAddress = command.Email; ReplyToAddress = EmailConstants.ReplyToAddress; Tokens = new Dictionary <string, string> { { "Contact", $"{command.FirstName} {command.LastName}" }, { "ChangePasswordURL", command.ChangePasswordUrl } }; }
public void Then_Values_Are_Set_Correctly( SendEmailToChangePasswordCommand command, ApimDeveloperMessagingConfiguration config) { var expectedTokens = new Dictionary <string, string> { { "Contact", $"{command.FirstName} {command.LastName}" }, { "ChangePasswordURL", command.ChangePasswordUrl } }; var email = new ChangePasswordEmail(command, config); email.TemplateId.Should().Be(config.ChangePasswordTemplateId); email.RecipientAddress.Should().Be(command.Email); email.ReplyToAddress.Should().Be(EmailConstants.ReplyToAddress); email.Tokens.Should().BeEquivalentTo(expectedTokens); }
public async Task Then_A_Notification_Is_Sent_And_Api_Called( SendEmailToChangePasswordCommand command, [Frozen] Mock <IOptions <ApimDeveloperMessagingConfiguration> > mockOptions, [Frozen] Mock <INotificationService> mockNotificationService, SendEmailToChangePasswordCommandHandler handler) { //Arrange SendEmailCommand actualEmail = null; mockNotificationService .Setup(service => service.Send(It.IsAny <SendEmailCommand>())) .Callback((SendEmailCommand args) => actualEmail = args) .Returns(Task.CompletedTask); var expectedEmail = new ChangePasswordEmail(command, mockOptions.Object.Value); //Act await handler.Handle(command, CancellationToken.None); //Assert actualEmail.Tokens.Should().BeEquivalentTo(expectedEmail.Tokens); actualEmail.RecipientsAddress.Should().BeEquivalentTo(expectedEmail.RecipientAddress); actualEmail.TemplateId.Should().BeEquivalentTo(expectedEmail.TemplateId); }