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>());
        }