public void GetCalculationSummariesForSpecification_WhenGivenASpecificationIdInValidFormat_ShouldReturnResult() { // Arrange List <CalculationSummaryModel> summaryModels = new List <CalculationSummaryModel>() { new CalculationSummaryModel() { Name = "TestCalc", CalculationType = CalculationType.Funding, Id = "CalcId" } }; ICalcsApiClientProxy mockApi = Substitute.For <ICalcsApiClientProxy>(); mockApi .GetAsync <IEnumerable <CalculationSummaryModel> >(Arg.Any <string>()) .Returns(summaryModels); CalculationsRepository calculationsRepository = new CalculationsRepository(mockApi); ArgumentNullException exception = null; // Act var configuredTaskAwaiter = calculationsRepository.GetCalculationSummariesForSpecification("Test").ConfigureAwait(false).GetAwaiter(); List <CalculationSummaryModel> calculationSummaryModels = configuredTaskAwaiter.GetResult().ToList(); // Assert calculationSummaryModels.Should().NotBeNull(); calculationSummaryModels.Should().BeEquivalentTo(summaryModels); mockApi.Received(1).GetAsync <IEnumerable <CalculationSummaryModel> >(Arg.Any <string>()); }
public void GetBuildProjectBySpecificationId_WhenSpeficationIdIsInValidFormat_ShouldReturnResult() { // Arrange ICalcsApiClientProxy mockApi = Substitute.For <ICalcsApiClientProxy>(); mockApi .GetAsync <BuildProject>(Arg.Any <string>()) .Returns(new BuildProject()); CalculationsRepository calculationsRepository = new CalculationsRepository(mockApi); ArgumentNullException exception = null; // Act var configuredTaskAwaiter = calculationsRepository.GetBuildProjectBySpecificationId("Test").ConfigureAwait(false).GetAwaiter(); BuildProject buildProject = configuredTaskAwaiter.GetResult(); // Assert buildProject.Should().NotBeNull(); mockApi.Received(1).GetAsync <BuildProject>(Arg.Any <string>()); }
public void GetBuildProjectBySpecificationId_WhenSpeficationIdIsEmpty_ShouldThrowException() { // Arrange ICalcsApiClientProxy apiClientProxy = Substitute.For <ICalcsApiClientProxy>(); CalculationsRepository calculationsRepository = new CalculationsRepository(apiClientProxy); ArgumentNullException exception = null; // Act try { var configuredTaskAwaiter = calculationsRepository.GetBuildProjectBySpecificationId(string.Empty).ConfigureAwait(false).GetAwaiter(); configuredTaskAwaiter.GetResult(); } catch (Exception e) { exception = e as ArgumentNullException; } // Assert exception.Should().NotBeNull(); exception.Should().BeOfType <ArgumentNullException>(); apiClientProxy.DidNotReceive().GetAsync <BuildProject>(Arg.Any <string>()); }
public BuildProjectRepository(ICalcsApiClientProxy apiClient) { Guard.ArgumentNotNull(apiClient, nameof(apiClient)); _apiClient = apiClient; }
public CalculationsRepository(ICalcsApiClientProxy apiClient) { Guard.ArgumentNotNull(apiClient, nameof(apiClient)); _apiClient = apiClient; }
public CalculationsRepository(ICalcsApiClientProxy calcsApiClient) { _calcsApiClient = calcsApiClient; }