public async Task SendAsync_should_send_mail_to_the_destination() { const string? @from = "*****@*****.**"; const string? to = "*****@*****.**"; const string? subject = "my test e-mail"; const string? content = "<h1>Test e-mail</h1>"; _sendgridClient.SendEmailAsync(Arg.Any <SendGridMessage>(), Arg.Any <CancellationToken>()) .Returns(new Response(HttpStatusCode.Accepted, null, null)); var message = _mockCreator.GetSendGridMessage(from, to, subject, content); var sent = await _sender.SendAsync(message, CancellationToken.None); sent.Should().BeTrue(); await _sendgridClient.Received(1) .SendEmailAsync(Arg.Any <SendGridMessage>(), Arg.Any <CancellationToken>()); var messageSent = (SendGridMessage)_sendgridClient.ReceivedCalls().Single().GetArguments()[0] !; messageSent.From.Email.Should().Be(from); messageSent.Personalizations.Single().Tos.Single().Email.Should().Be(to); messageSent.Personalizations.Single().Subject.Should().Be(subject); messageSent.Contents.Should().AllSatisfy(c => c.Value.Should().Be(content)); }