Ejemplo n.º 1
0
        public async Task WhenEmployerHasNotSuppliedTheirBankDetails()
        {
            var request = new BankDetailsRepeatReminderEmailsRequest
            {
                ApplicationCutOffDate = _fixture.Create <DateTime>()
            };

            _response = await _context.OuterApiClient.PostAsync($"email/bank-details-repeat-reminders", new StringContent(JsonSerializer.Serialize(request), Encoding.UTF8, "application/json"));

            _response.EnsureSuccessStatusCode();
        }
Ejemplo n.º 2
0
        public async Task Then_Send_Email_Command_Is_Handled(
            BankDetailsRepeatReminderEmailsRequest sendEmailRequest,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] EmailController controller)
        {
            var controllerResult = await controller.SendBankDetailsRepeatReminderEmails(sendEmailRequest) as OkResult;

            controllerResult.Should().NotBeNull();
            controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK);

            mockMediator
            .Verify(mediator => mediator.Send(
                        It.Is <SendBankDetailsRepeatReminderEmailsCommand>(c =>
                                                                           c.ApplicationCutOffDate.Equals(sendEmailRequest.ApplicationCutOffDate)),
                        It.IsAny <CancellationToken>()), Times.Once);
        }
        public async Task WhenTheCheckForAccountsWithoutBankDetailsIsTriggered()
        {
            const string url = "api/EmailCommand/bank-details-repeat-reminders";

            _request = new BankDetailsRepeatReminderEmailsRequest {
                ApplicationCutOffDate = _applicationCutOffDate
            };

            await TestContext.WaitFor(
                async (cancellationToken) =>
            {
                _response = await EmployerIncentiveApi.Client.PostAsJsonAsync(url, _request, cancellationToken);
            },
                (context) => HasExpectedSendBankDetailsRepeatReminderEmailEvents(context)
                );

            _response.IsSuccessStatusCode.Should().BeTrue();
        }
 public async Task SendBankDetailsRepeatReminderEmails([FromBody] BankDetailsRepeatReminderEmailsRequest request)
 {
     await SendCommandAsync(new AccountVrfCaseStatusRemindersCommand(request.ApplicationCutOffDate));
 }
        public async Task <IActionResult> SendBankDetailsRepeatReminderEmails(BankDetailsRepeatReminderEmailsRequest request)
        {
            await _mediator.Send(new SendBankDetailsRepeatReminderEmailsCommand(request.ApplicationCutOffDate));

            return(new OkResult());
        }