コード例 #1
0
        public async Task ThenWillReturnCohortFromCommitmentsApi(
            [Frozen] Mock <IApiClient> mockApiClient,
            [Frozen] Mock <IOptions <ReservationsWebConfiguration> > mockOptions,
            CommitmentService service,
            Cohort cohort)
        {
            //Arrange
            mockApiClient.Setup(c => c.Get <Cohort>(It.IsAny <GetCohortRequest>()))
            .ReturnsAsync(cohort);

            //Act
            var result = await service.GetCohort(cohort.CohortId);

            //Assert
            Assert.AreEqual(cohort, result);
        }
コード例 #2
0
        public async Task ThenWillGetCohortFromCommitmentsApi(
            [Frozen] Mock <IApiClient> mockApiClient,
            [Frozen] Mock <IOptions <CommitmentsApiConfiguration> > mockOptions,
            CommitmentService service,
            long cohortId)
        {
            //Act
            await service.GetCohort(cohortId);

            //Assert
            mockApiClient.Verify(client => client.Get <Cohort>(
                                     It.Is <IGetApiRequest>(request =>
                                                            request.GetUrl.StartsWith(mockOptions.Object.Value.ApiBaseUrl) &&
                                                            request.GetUrl.Contains(cohortId.ToString()))),
                                 Times.Once);
        }
コード例 #3
0
        public void ThenWillThrowExceptionIFOneOccurs(
            [Frozen] Mock <IApiClient> mockApiClient,
            [Frozen] Mock <IOptions <ReservationsWebConfiguration> > mockOptions,
            CommitmentService service,
            Cohort cohort,
            Exception exception)
        {
            //Arrange
            mockApiClient.Setup(c => c.Get <Cohort>(It.IsAny <GetCohortRequest>()))
            .Throws(exception);

            //Act
            var actualException = Assert.ThrowsAsync <Exception>(() => service.GetCohort(cohort.CohortId));

            //Assert
            Assert.AreEqual(exception, actualException);
        }