Beispiel #1
0
        public async Task ShouldListSingleSolutionAsFoundation(bool isFoundation)
        {
            await CatalogueItemEntityBuilder
            .Create()
            .WithCatalogueItemId(Solution1Id)
            .WithName("Solution1")
            .WithSupplierId(_supplierId)
            .WithPublishedStatusId(3)
            .Build()
            .InsertAsync();

            await SolutionEntityBuilder.Create()
            .WithId(Solution1Id)
            .WithSummary("Sln1Summary")
            .Build()
            .InsertAsync();

            await SolutionCapabilityEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithCapabilityId(_cap1Id)
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithFoundation(isFoundation)
            .Build().InsertAsync();

            var solutions = await _solutionListRepository.ListAsync(false, null, new CancellationToken());

            var solution = solutions.Should().ContainSingle().Subject;

            solution.SolutionId.Should().Be(Solution1Id);
            solution.IsFoundation.Should().Be(isFoundation);
        }
Beispiel #2
0
        public async Task ShouldFilterByFoundation()
        {
            await CreateSimpleSolutionWithOneCap(Solution1Id);
            await CreateSimpleSolutionWithOneCap(Solution2Id);
            await CreateSimpleSolutionWithOneCap(Solution3Id);
            await CreateSimpleSolutionWithOneCap(Solution4Id);

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithFoundation(true)
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution2Id)
            .WithFoundation(false)
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution4Id)
            .WithFoundation(true)
            .Build()
            .InsertAsync();

            var solutions = await _solutionListRepository.ListAsync(true, null, new CancellationToken());

            solutions.Should().HaveCount(2);
            var solution = solutions.Should().ContainSingle(s => s.SolutionId == Solution1Id).Subject;

            solution.IsFoundation.Should().Be(true);
            solution = solutions.Should().ContainSingle(s => s.SolutionId == Solution4Id).Subject;
            solution.IsFoundation.Should().Be(true);
        }
        public async Task ShouldFilterByFrameworkId()
        {
            await CreateSimpleSolutionWithOneCap(Solution1Id);
            await CreateSimpleSolutionWithOneCap(Solution2Id);
            await CreateSimpleSolutionWithOneCap(Solution3Id);

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithFrameworkId("NHSDGP001")
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution2Id)
            .WithFrameworkId("DFOCVC001")
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution3Id)
            .WithFrameworkId("NHSDGP001")
            .Build()
            .InsertAsync();

            var solutions = (await solutionListRepository.ListAsync(false, null, "NHSDGP001", CancellationToken.None)).ToList();

            solutions.Should().HaveCount(2);
            var solution = solutions.Should().ContainSingle(s => s.SolutionId == Solution1Id).Subject;

            solution.FrameworkId.Should().Be("NHSDGP001");
            solution = solutions.Should().ContainSingle(s => s.SolutionId == Solution3Id).Subject;
            solution.FrameworkId.Should().Be("NHSDGP001");
        }
        public async Task ListAsync_FilterBySupplierId_ReturnsFilteredResult()
        {
            const string supId2 = "Sup2";

            await SupplierEntityBuilder.Create()
            .WithId(supId2)
            .Build()
            .InsertAsync();

            await CreateSimpleSolutionWithOneCap(Solution1Id);
            await CreateSimpleSolutionWithOneCap(Solution2Id, supId2);
            await CreateSimpleSolutionWithOneCap(Solution3Id);
            await CreateSimpleSolutionWithOneCap(Solution4Id, supId2);

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithFrameworkId("NHSDGP001")
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution3Id)
            .WithFrameworkId("NHSDGP001")
            .Build()
            .InsertAsync();

            var solutions = (await solutionListRepository.ListAsync(false, SupplierId, null, CancellationToken.None)).ToList();

            solutions.Count.Should().Be(2);
            solutions.Should().Contain(r => r.SupplierId == SupplierId);
        }
Beispiel #5
0
        public async Task ShouldGetByIdSolutionDetailNotPresent()
        {
            await CatalogueItemEntityBuilder
            .Create()
            .WithCatalogueItemId(Solution1Id)
            .WithName("Solution1")
            .WithPublishedStatusId((int)PublishedStatus.Published)
            .WithSupplierId(SupplierId)
            .Build()
            .InsertAsync();

            await SolutionEntityBuilder.Create()
            .WithId(Solution1Id)
            .WithOnLastUpdated(lastUpdated)
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithFrameworkId("NHSDGP001")
            .WithFoundation(false)
            .Build()
            .InsertAsync();

            var solution = await solutionRepository.ByIdAsync(Solution1Id, CancellationToken.None);

            solution.Id.Should().Be(Solution1Id);
            solution.Name.Should().Be("Solution1");
            solution.LastUpdated.Should().Be(lastUpdated);
            solution.Summary.Should().BeNull();
            solution.Description.Should().BeNull();
            solution.AboutUrl.Should().BeNull();
            solution.Features.Should().BeNull();
            solution.ClientApplication.Should().BeNull();
        }
        public async Task ShouldListSingleSolutionWithMultipleCapability()
        {
            await CatalogueItemEntityBuilder
            .Create()
            .WithCatalogueItemId(Solution1Id)
            .WithName("Solution1")
            .WithSupplierId(SupplierId)
            .WithPublishedStatusId(3)
            .Build()
            .InsertAsync();

            await SolutionEntityBuilder.Create()
            .WithId(Solution1Id)
            .WithSummary("Sln1Summary")
            .Build()
            .InsertAsync();

            await SolutionCapabilityEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithCapabilityId(cap1Id)
            .Build()
            .InsertAsync();

            await SolutionCapabilityEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithCapabilityId(cap2Id)
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithFrameworkId("NHSDGP001")
            .Build()
            .InsertAsync();

            var solutions = (await solutionListRepository.ListAsync(false, null, null, CancellationToken.None)).ToList();

            solutions.Should().HaveCount(2);

            var solution = solutions.Should().ContainSingle(s => s.CapabilityReference == CapabilityReference1).Subject;

            solution.SolutionId.Should().Be(Solution1Id);
            solution.SolutionName.Should().Be("Solution1");
            solution.SolutionSummary.Should().Be("Sln1Summary");
            solution.SupplierId.Should().Be(SupplierId);
            solution.SupplierName.Should().Be(SupplierName);
            solution.CapabilityReference.Should().Be(CapabilityReference1);
            solution.CapabilityName.Should().Be("Cap1");
            solution.CapabilityDescription.Should().Be("Cap1Desc");

            solution = solutions.Should().ContainSingle(s => s.CapabilityReference == CapabilityReference2).Subject;
            solution.SolutionId.Should().Be(Solution1Id);
            solution.SolutionName.Should().Be("Solution1");
            solution.SolutionSummary.Should().Be("Sln1Summary");
            solution.SupplierId.Should().Be(SupplierId);
            solution.SupplierName.Should().Be(SupplierName);
            solution.CapabilityReference.Should().Be(CapabilityReference2);
            solution.CapabilityName.Should().Be("Cap2");
            solution.CapabilityDescription.Should().Be("Cap2Desc");
        }
Beispiel #7
0
        public async Task ShouldGetByIdFoundation(bool isFoundation)
        {
            await CatalogueItemEntityBuilder
            .Create()
            .WithCatalogueItemId(Solution1Id)
            .WithName(Solution1Id)
            .WithPublishedStatusId((int)PublishedStatus.Published)
            .WithSupplierId(SupplierId)
            .Build()
            .InsertAsync();

            await SolutionEntityBuilder.Create()
            .WithId(Solution1Id)
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithFoundation(isFoundation)
            .Build()
            .InsertAsync();

            var solution = await solutionRepository.ByIdAsync(Solution1Id, CancellationToken.None);

            solution.Id.Should().Be(Solution1Id);
            solution.IsFoundation.Should().Be(isFoundation);
        }
Beispiel #8
0
        public async Task ShouldGetByIdFoundation(bool isFoundation)
        {
            await CatalogueItemEntityBuilder
            .Create()
            .WithCatalogueItemId(_solution1Id)
            .WithName(_solution1Id)
            .WithPublishedStatusId((int)PublishedStatus.Published)
            .WithSupplierId(_supplierId)
            .Build()
            .InsertAsync();

            await SolutionEntityBuilder.Create()
            .WithId(_solution1Id)
            .Build()
            .InsertAsync();

            await SolutionDetailEntityBuilder.Create()
            .WithSolutionId(_solution1Id)
            .Build()
            .InsertAndSetCurrentForSolutionAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(_solution1Id)
            .WithFoundation(isFoundation)
            .Build()
            .InsertAsync();

            var solution = await _solutionRepository.ByIdAsync(_solution1Id, new CancellationToken());

            solution.Id.Should().Be(_solution1Id);
            solution.IsFoundation.Should().Be(isFoundation);
        }
Beispiel #9
0
        public async Task ShouldGetByIdFoundation(bool isFoundation)
        {
            await SolutionEntityBuilder.Create()
            .WithName("Solution1")
            .WithId(_solution1Id)
            .WithOrganisationId(_org1Id)
            .WithSupplierId(_supplierId)
            .Build()
            .InsertAsync()
            .ConfigureAwait(false);

            await SolutionDetailEntityBuilder.Create()
            .WithSolutionId(_solution1Id)
            .Build()
            .InsertAndSetCurrentForSolutionAsync()
            .ConfigureAwait(false);

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(_solution1Id)
            .WithFoundation(isFoundation)
            .Build()
            .InsertAsync()
            .ConfigureAwait(false);

            var solution = await _solutionRepository.ByIdAsync(_solution1Id, new CancellationToken()).ConfigureAwait(false);

            solution.Id.Should().Be(_solution1Id);
            solution.IsFoundation.Should().Be(isFoundation);
        }
 private static async Task InsertFrameworkSolutionsAsync(FrameworkSolutionsTable table)
 {
     await FrameworkSolutionEntityBuilder.Create()
     .WithSolutionId(table.SolutionId)
     .WithFoundation(table.IsFoundation)
     .Build()
     .InsertAsync()
     .ConfigureAwait(false);
 }
Beispiel #11
0
        public async Task ShouldGetById()
        {
            await CatalogueItemEntityBuilder
            .Create()
            .WithCatalogueItemId(Solution1Id)
            .WithName("Solution1")
            .WithPublishedStatusId((int)PublishedStatus.Published)
            .WithSupplierId(SupplierId)
            .Build()
            .InsertAsync();

            await SolutionEntityBuilder.Create()
            .WithId(Solution1Id)
            .WithSummary("Sln1Summary")
            .WithFullDescription("Sln1Description")
            .WithAboutUrl("AboutUrl")
            .WithFeatures("Features")
            .WithClientApplication("Browser-based")
            .WithHosting("Hosting")
            .WithLastUpdated(lastUpdated)
            .Build()
            .InsertAsync();

            await FrameworkSolutionEntityBuilder.Create()
            .WithSolutionId(Solution1Id)
            .WithFrameworkId("NHSDGP001")
            .WithFoundation(false)
            .Build()
            .InsertAsync();

            var solution = await solutionRepository.ByIdAsync(Solution1Id, CancellationToken.None);

            solution.Id.Should().Be(Solution1Id);
            solution.Name.Should().Be("Solution1");
            solution.LastUpdated.Should().Be(lastUpdated);
            solution.Summary.Should().Be("Sln1Summary");
            solution.Description.Should().Be("Sln1Description");
            solution.AboutUrl.Should().Be("AboutUrl");
            solution.Features.Should().Be("Features");
            solution.ClientApplication.Should().Be("Browser-based");
            solution.Hosting.Should().Be("Hosting");
            solution.IsFoundation.Should().BeFalse();
            solution.PublishedStatus.Should().Be(PublishedStatus.Published);
        }