public void SpecificationsRepositoryCtor_WhenApiClientIsNull_ShouldThrowException() { // Arrange ISpecificationsApiClientProxy nullApiClient = null; // Act Action specificationRepositoryCtor = () => { new SpecificationsRepository(nullApiClient); }; // Assert specificationRepositoryCtor.Should().ThrowExactly <ArgumentNullException>(); }
public void GetSpecificationSummaryById_WhenGivenANullSpecificationId_ShouldThrowAnException() { // Arrange ISpecificationsApiClientProxy mockApiClient = Substitute.For <ISpecificationsApiClientProxy>(); // Act SpecificationsRepository specificationRepo = new SpecificationsRepository(mockApiClient); Action getSpecificationBySummaryIdCall = () => { specificationRepo.GetSpecificationSummaryById(null); }; // Assert getSpecificationBySummaryIdCall.Should().ThrowExactly <ArgumentNullException>(); }
public void GetSpecificationSummaryById_WhenGivenAValidSpecificationId_ShouldCallApiClient() { // Arrange ISpecificationsApiClientProxy mockApiClient = Substitute.For <ISpecificationsApiClientProxy>(); const string specificationId = "validSpecId"; // Act SpecificationsRepository specificationRepo = new SpecificationsRepository(mockApiClient); specificationRepo.GetSpecificationSummaryById(specificationId).Wait(); // Assert mockApiClient.Received(1).GetAsync <SpecificationSummary>(Arg.Any <string>()); }
async public Task GetSpecificationById_GivenSpecificationId_CallsWithCorrectUrl() { //Arrange const string specificationId = "spec-id"; ISpecificationsApiClientProxy clientProxy = CreateApiClientProxy(); SpecificationsRepository specificationsRepository = CreateSpecificationsRepository(clientProxy); //Act await specificationsRepository.GetSpecificationSummaryById(specificationId); //Assert await clientProxy .Received(1) .GetAsync <SpecificationSummary>(Arg.Is($"specs/specification-summary-by-id?specificationId={specificationId}")); }
public SpecificationRepository(ISpecificationsApiClientProxy apiClient) { Guard.ArgumentNotNull(apiClient, nameof(apiClient)); _apiClient = apiClient; }
static SpecificationsRepository CreateSpecificationsRepository(ISpecificationsApiClientProxy apiClientProxy = null) { return(new SpecificationsRepository(apiClientProxy ?? CreateApiClientProxy())); }