private static async Task <SolutionsRequest> BuildRequestAsync(IEnumerable <string> capabilityNames)
        {
            var capabilities = await CapabilityEntity.FetchAllAsync().ConfigureAwait(false);

            return(new SolutionsRequest {
                Capabilities = new HashSet <string>(capabilityNames.Select(cn => capabilities.First(c => c.Name == cn).Id.ToString()))
            });
        }
        private static async Task <SolutionsRequest> BuildRequestAsync(IEnumerable <string> capabilityNames)
        {
            var capabilities = await CapabilityEntity.FetchAllAsync();

            var listOfReferences = capabilityNames.Select(cn => capabilities.First(c => c.Name == cn).CapabilityRef);

            return(new SolutionsRequest {
                Capabilities = listOfReferences.Select(r => new CapabilityReference(r)).ToList()
            });
        }
Ejemplo n.º 3
0
 public CapabilityEntityBuilder()
 {
     capabilityEntity = new CapabilityEntity
     {
         Id            = Guid.NewGuid(),
         CapabilityRef = "Ref",
         Version       = "1.0",
         StatusId      = 1,
         Name          = "Capability",
         Description   = "Capability Description",
         EffectiveDate = DateTime.Today,
         CategoryId    = 0,
     };
 }
        public static async Task GivenSolutionsAreLinkedToCapabilities(Table table)
        {
            var solutions = await SolutionEntity.FetchAllAsync().ConfigureAwait(false);

            var capabilities = await CapabilityEntity.FetchAllAsync().ConfigureAwait(false);

            foreach (var solutionCapabilityTable in table.CreateSet <SolutionCapabilityTable>())
            {
                await SolutionCapabilityEntityBuilder.Create()
                .WithSolutionId(solutions.First(s => s.Name == solutionCapabilityTable.Solution).Id)
                .WithCapabilityId(capabilities.First(s => s.Name == solutionCapabilityTable.Capability).Id)
                .Build()
                .InsertAsync()
                .ConfigureAwait(false);
            }
        }
Ejemplo n.º 5
0
        public async Task ThenTheCapabilitiesAreReturnedOrderedByIsFoundationThenCapabilityName(Table table)
        {
            var storedCapabilities = await CapabilityEntity.FetchAllAsync().ConfigureAwait(false);

            var expectedCapabilities = table.CreateSet <CapabilityTable>().Select(t => new
            {
                Id           = storedCapabilities.First(c => c.Name == t.CapabilityName).Id,
                Name         = t.CapabilityName,
                IsFoundation = t.IsFoundation
            });

            var capabilities = (await _response.ReadBody().ConfigureAwait(false))
                               .SelectToken("capabilities")
                               .Select(t => new
            {
                Id           = Guid.Parse(t.SelectToken("id").ToString()),
                Name         = t.SelectToken("name").ToString(),
                IsFoundation = Convert.ToBoolean(t.SelectToken("isFoundation").ToString(), CultureInfo.InvariantCulture)
            });

            capabilities.Should().BeEquivalentTo(expectedCapabilities, options => options.WithStrictOrdering());
        }
        private static async Task InsertEpicsAsync(EpicsTable epicTable)
        {
            var capabilities = await CapabilityEntity.FetchAllAsync();

            var capId = capabilities.First(
                c => string.Equals(c.CapabilityRef, epicTable.CapabilityRef, StringComparison.OrdinalIgnoreCase)).Id;

            if (!Enum.TryParse(epicTable.CompliancyLevel, out EpicEntityBuilder.CompliancyLevel compliancyLevel))
            {
                compliancyLevel = EpicEntityBuilder.CompliancyLevel.Must;
            }

            var epic = EpicEntityBuilder.Create()
                       .WithId(epicTable.Id)
                       .WithCapabilityId(capId)
                       .WithName(string.IsNullOrWhiteSpace(epicTable.Name) ? $"Name {epicTable.Id}" : epicTable.Name)
                       .WithCompliancyLevel(compliancyLevel)
                       .WithActive(epicTable.Active)
                       .Build();

            await epic.InsertAsync();
        }
        public static async Task GivenSolutionsAreLinkedToCapabilities(Table table)
        {
            var solutions    = (await SolutionEntity.FetchAllAsync()).ToDictionary(s => s.Name);
            var capabilities = (await CapabilityEntity.FetchAllAsync()).ToDictionary(c => c.Name);

            foreach (var solutionCapability in table.CreateSet <SolutionCapabilityTable>())
            {
                if (!solutionCapability.Capability.Any())
                {
                    continue;
                }

                foreach (var capability in solutionCapability.Capability)
                {
                    await SolutionCapabilityEntityBuilder.Create()
                    .WithSolutionId(solutions[solutionCapability.Solution].SolutionId)
                    .WithCapabilityId(capabilities[capability].Id)
                    .WithStatusId(solutionCapability.Pass ? PassedSolutionCapabilityStatusId : FailedSolutionCapabilityStatusId)
                    .Build()
                    .InsertAsync();
                }
            }
        }
 private static async Task InsertCapabilityAsync(CapabilityEntity capabilityEntity)
 {
     await capabilityEntity.InsertAsync();
 }