Exemplo n.º 1
0
        public void MustBePending_NonDraft_ReturnsError(
            [Values(
                 Roles.Buyer,
                 Roles.Supplier,
                 Roles.Admin
                 )]
            string role,
            [Values(
                 CapabilitiesImplementedStatus.Submitted,
                 CapabilitiesImplementedStatus.Remediation,
                 CapabilitiesImplementedStatus.Approved,
                 CapabilitiesImplementedStatus.Rejected
                 )]
            CapabilitiesImplementedStatus status)
        {
            _context.Setup(x => x.HttpContext).Returns(Creator.GetContext(role: role));
            var validator = new CapabilitiesImplementedValidator(_context.Object, _logger.Object, _claimDatastore.Object, _contactsDatastore.Object, _solutionsDatastore.Object);
            var claim     = Creator.GetCapabilitiesImplemented(status: status);

            validator.MustBePending();
            var valres = validator.Validate(claim);

            valres.Errors.Should()
            .ContainSingle(x => x.ErrorMessage == "Only supplier can delete a draft claim")
            .And
            .HaveCount(1);
        }
Exemplo n.º 2
0
        public void Validate_Update_FinalState_ReturnsError(
            [Values(
                 CapabilitiesImplementedStatus.Approved,
                 CapabilitiesImplementedStatus.Rejected)]
            CapabilitiesImplementedStatus oldStatus,
            [Values(
                 CapabilitiesImplementedStatus.Draft,
                 CapabilitiesImplementedStatus.Submitted,
                 CapabilitiesImplementedStatus.Remediation,
                 CapabilitiesImplementedStatus.Approved,
                 CapabilitiesImplementedStatus.Rejected)]
            CapabilitiesImplementedStatus newStatus,
            [Values(
                 Roles.Admin,
                 Roles.Buyer,
                 Roles.Supplier)]
            string role)
        {
            _context.Setup(x => x.HttpContext).Returns(Creator.GetContext(role: role));
            var validator = new CapabilitiesImplementedValidator(_context.Object, _logger.Object, _claimDatastore.Object, _contactsDatastore.Object, _solutionsDatastore.Object);
            var oldClaim  = Creator.GetCapabilitiesImplemented(status: oldStatus);
            var newClaim  = Creator.GetCapabilitiesImplemented(status: newStatus);

            _claimDatastore.Setup(x => x.ById(newClaim.Id)).Returns(oldClaim);

            validator.MustBeValidStatusTransition();
            var valres = validator.Validate(newClaim);

            valres.Errors.Should()
            .ContainSingle(x => x.ErrorMessage == "Invalid Status transition")
            .And
            .HaveCount(1);
        }
Exemplo n.º 3
0
        public void MustBeValidStatusTransition_Valid_Succeeds(CapabilitiesImplementedStatus oldStatus, CapabilitiesImplementedStatus newStatus, string role)
        {
            _context.Setup(x => x.HttpContext).Returns(Creator.GetContext(role: role));
            var validator = new CapabilitiesImplementedValidator(_context.Object, _logger.Object, _claimDatastore.Object, _contactsDatastore.Object, _solutionsDatastore.Object);
            var oldClaim  = Creator.GetCapabilitiesImplemented(status: oldStatus);
            var newClaim  = Creator.GetCapabilitiesImplemented(status: newStatus);

            _claimDatastore.Setup(x => x.ById(newClaim.Id)).Returns(oldClaim);

            validator.MustBeValidStatusTransition();
            var valres = validator.Validate(newClaim);

            valres.Errors.Should().BeEmpty();
        }
Exemplo n.º 4
0
        public void MustBeValidStatusTransition_Invalid_ReturnsError(CapabilitiesImplementedStatus oldStatus, CapabilitiesImplementedStatus newStatus, string role)
        {
            _context.Setup(x => x.HttpContext).Returns(Creator.GetContext(role: role));
            var validator = new CapabilitiesImplementedValidator(_context.Object, _logger.Object, _claimDatastore.Object, _contactsDatastore.Object, _solutionsDatastore.Object);
            var oldClaim  = Creator.GetCapabilitiesImplemented(status: oldStatus);
            var newClaim  = Creator.GetCapabilitiesImplemented(status: newStatus);

            _claimDatastore.Setup(x => x.ById(newClaim.Id)).Returns(oldClaim);

            validator.MustBeValidStatusTransition();
            var valres = validator.Validate(newClaim);

            valres.Errors.Should()
            .ContainSingle(x => x.ErrorMessage == "Invalid Status transition")
            .And
            .HaveCount(1);
        }
Exemplo n.º 5
0
        public static CapabilitiesImplemented GetCapabilitiesImplemented(
            string id      = null,
            string solnId  = null,
            string claimId = null,
            string ownerId = null,
            CapabilitiesImplementedStatus status = CapabilitiesImplementedStatus.Draft,
            DateTime?originalDate = null)
        {
            var retval = new CapabilitiesImplemented
            {
                Id           = id ?? Guid.NewGuid().ToString(),
                SolutionId   = solnId ?? Guid.NewGuid().ToString(),
                CapabilityId = claimId ?? Guid.NewGuid().ToString(),
                OwnerId      = ownerId ?? Guid.NewGuid().ToString(),
                Status       = status,
                OriginalDate = originalDate ?? DateTime.UtcNow
            };

            Verifier.Verify(retval);
            return(retval);
        }