public async Task GetUsageReportWithInvalidDateReturns400() { var usageReportResponse = new UsageReportResponse { StartDate = "2020-08-01", EndDate = "2020-08-31", UniqueAnonymousUsers = _faker.Random.Number(0, 3000), TotalAnonymousLogins = _faker.Random.Number(0, 3000), UniqueCSSOUsers = _faker.Random.Number(0, 3000), TotalCSSOLogins = _faker.Random.Number(0, 3000), NewCSSOLinkedAccounts = _faker.Random.Number(0, 3000), TotalLogins = _faker.Random.Number(0, 3000) }; var usageReportRequest = new UsageReportRequest { StartDate = Convert.ToDateTime("2020-09-01"), EndDate = Convert.ToDateTime("2020-08-31") }; _usageReportingUseCase.Setup(x => x.Execute(usageReportRequest)).Throws(new UsageReportRequestException("Start date must be before end date")); var response = (await _classUnderTest.RunUsageReport(usageReportRequest).ConfigureAwait(true) as IActionResult) as ObjectResult; response.Should().NotBeNull(); response.StatusCode.Should().Be(400); response.Value.Should().BeEquivalentTo("Start date must be before end date"); }
public void ReturnsCorrectResponseWhenEverythingIsWorking() { var token = "token"; var usageReportResponse = new UsageReportResponse { StartDate = "2020-08-01", EndDate = "2020-08-31", UniqueAnonymousUsers = 1, TotalAnonymousLogins = 2, UniqueCSSOUsers = 3, TotalCSSOLogins = 4, NewCSSOLinkedAccounts = 5, TotalLogins = 6 }; var usageReportRequest = new UsageReportRequest { StartDate = Convert.ToDateTime("2020-08-01"), EndDate = Convert.ToDateTime("2020-08-31") }; _mockCrmTokenGateway.Setup(x => x.GetCRMToken()).ReturnsAsync(token); _mockCrmGateway.Setup(x => x.GetUniqueAnonymousUsers(usageReportRequest, token)).ReturnsAsync(1); _mockCrmGateway.Setup(x => x.GetTotalAnonymousLogins(usageReportRequest)).ReturnsAsync(2); _mockCrmGateway.Setup(x => x.GetUniqueCSSOUsers(usageReportRequest)).ReturnsAsync(3); _mockCrmGateway.Setup(x => x.GetTotalCSSOLogins(usageReportRequest)).ReturnsAsync(4); _mockCrmGateway.Setup(x => x.GetNewCSSOLinkedAccounts(usageReportRequest)).ReturnsAsync(5); _mockCrmGateway.Setup(x => x.GetTotalLogins(usageReportRequest)).ReturnsAsync(6); var response = _classUnderTest.Execute(usageReportRequest); response.Should().NotBeNull(); response.Result.Should().BeEquivalentTo(usageReportResponse); }