Beispiel #1
0
        public GetProviderQueryHandlerTestsFixture()
        {
            Query    = new GetProviderQuery(1);
            Provider = new Provider(1, "Foo", DateTime.UtcNow, DateTime.UtcNow);
            Db       = new ProviderCommitmentsDbContext(new DbContextOptionsBuilder <ProviderCommitmentsDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options);
            Handler  = new GetProviderQueryHandler(new Lazy <ProviderCommitmentsDbContext>(() => Db));

            Db.Providers.Add(new Provider(2, "Bar", DateTime.UtcNow, DateTime.UtcNow));
            Db.SaveChanges();
        }
        public async Task Then_The_Service_Is_Called_And_Provider_Returned()
        {
            //Arrange
            var query = new GetProviderQuery
            {
                Ukprn = Ukprn
            };

            //Act
            var actual = await _handler.Handle(query);

            //Assert
            actual.Provider.ShouldBeEquivalentTo(_provider);
        }
        public async Task Then_Gets_Provider_From_Courses_Api(
            GetProviderQuery query,
            GetProviderResponse apiResponse,
            [Frozen] Mock <ICourseDeliveryApiClient <CourseDeliveryApiConfiguration> > mockApiClient,
            GetProviderQueryHandler handler)
        {
            mockApiClient
            .Setup(client => client.Get <GetProviderResponse>(It.Is <GetProviderRequest>(request => request.Ukprn == query.Ukprn)))
            .ReturnsAsync(apiResponse);

            var result = await handler.Handle(query, CancellationToken.None);

            result.Provider.Should().BeEquivalentTo(apiResponse);
        }
Beispiel #4
0
        public async Task <IActionResult> GetProvider(long providerId)
        {
            var query  = new GetProviderQuery(providerId);
            var result = await _mediator.Send(query);

            if (result == null)
            {
                return(NotFound());
            }

            return(Ok(new GetProviderResponse
            {
                ProviderId = result.ProviderId,
                Name = result.Name
            }));
        }
        public async Task Then_The_Api_Is_Called_With_The_Request_And_Providers_Returned(
            GetProviderQuery query,
            GetProvidersListItem apiResponse,
            [Frozen] Mock <ICourseDeliveryApiClient <CourseDeliveryApiConfiguration> > apiClient,
            GetProviderQueryHandler handler
            )
        {
            apiClient.Setup(x =>
                            x.Get <GetProvidersListItem>(
                                It.Is <GetProviderRequest>(c => c.GetUrl.Equals($"api/providers/{query.Id}"))))
            .ReturnsAsync(apiResponse);

            var actual = await handler.Handle(query, CancellationToken.None);

            actual.Provider.Should().BeEquivalentTo(apiResponse);
        }
        public async Task Then_Gets_Provider_From_The_Service_By_Ukprn(
            GetProviderQuery query,
            Domain.Models.ProviderSummary provider,
            [Frozen] Mock <IProviderService> providerService,
            GetProviderQueryHandler handler)
        {
            //Arrange
            providerService
            .Setup(x => x.GetProviderByUkprn(query.Ukprn))
            .ReturnsAsync(provider);

            //Act
            var actual = await handler.Handle(query, It.IsAny <CancellationToken>());

            //Assert
            actual.Provider.Should().BeEquivalentTo(provider);
        }