public void CRUD_Succeeds()
        {
            var contact        = Retriever.GetAllContacts(_policy).First();
            var orgDatastore   = new OrganisationsDatastore(DatastoreBaseSetup.CrmConnectionFactory, new Mock <ILogger <OrganisationsDatastore> >().Object, _policy, _config, new Mock <IDatastoreCache>().Object);
            var org            = orgDatastore.ById(contact.OrganisationId);
            var solnDatastore  = new SolutionsDatastore(DatastoreBaseSetup.CrmConnectionFactory, new Mock <ILogger <SolutionsDatastore> >().Object, _policy, _config);
            var soln           = solnDatastore.ByOrganisation(org.Id).First();
            var cap            = Retriever.GetAllCapabilities(_policy).First();
            var claimDatastore = new CapabilitiesImplementedDatastore(DatastoreBaseSetup.CrmConnectionFactory, new Mock <ILogger <CapabilitiesImplementedDatastore> >().Object, _policy, _config);
            var datastore      = new CapabilitiesImplementedEvidenceDatastore(DatastoreBaseSetup.CrmConnectionFactory, _logger, _policy, _config);

            var newClaim     = Creator.GetCapabilitiesImplemented(solnId: soln.Id, claimId: cap.Id, ownerId: contact.Id);
            var createdClaim = claimDatastore.Create(newClaim);
            CapabilitiesImplementedEvidence createdEvidence = null;

            try
            {
                // create
                var newEvidence = Creator.GetCapabilitiesImplementedEvidence(claimId: createdClaim.Id, createdById: contact.Id);
                createdEvidence = datastore.Create(newEvidence);

                createdEvidence.Should().BeEquivalentTo(newEvidence,
                                                        opts => opts
                                                        .Excluding(ent => ent.CreatedOn));

                // retrieve ById
                datastore.ById(createdEvidence.Id)
                .Should().NotBeNull()
                .And.Subject
                .Should().BeEquivalentTo(createdEvidence,
                                         opts => opts
                                         .Excluding(ent => ent.CreatedOn));

                // retrieve ByClaim
                var retrievedClaims = datastore.ByClaim(createdClaim.Id)
                                      .SelectMany(x => x).ToList();
                retrievedClaims.Should().ContainSingle()
                .And.Subject.Single()
                .Should().BeEquivalentTo(createdEvidence,
                                         opts => opts
                                         .Excluding(ent => ent.CreatedOn));
            }
            finally
            {
                claimDatastore.Delete(createdClaim);
            }

            // delete
            datastore.ById(createdEvidence.Id)
            .Should().BeNull();
        }
Beispiel #2
0
 public IActionResult Create([FromBody] CapabilitiesImplementedEvidence evidence)
 {
     try
     {
         var newEvidence = _logic.Create(evidence);
         return(new OkObjectResult(newEvidence));
     }
     catch (FluentValidation.ValidationException ex)
     {
         return(new InternalServerErrorObjectResult(ex));
     }
     catch (Exception ex)
     {
         return(new NotFoundObjectResult(ex));
     }
 }
Beispiel #3
0
 public static GifModels.CapabilityEvidence FromApi(CapabilitiesImplementedEvidence api)
 {
     return(Convert <CapabilitiesImplementedEvidence, GifModels.CapabilityEvidence>(api));
 }