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); }
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); }
public void MustBePending_Draft_Succeeds(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 claim = Creator.GetCapabilitiesImplemented(status: CapabilitiesImplementedStatus.Draft); validator.MustBePending(); var valres = validator.Validate(claim); valres.Errors.Should().BeEmpty(); }
public void MustBePending_Draft_ReturnsError(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 claim = Creator.GetCapabilitiesImplemented(status: CapabilitiesImplementedStatus.Draft); validator.MustBePending(); var valres = validator.Validate(claim); valres.Errors.Should() .ContainSingle(x => x.ErrorMessage == "Only supplier can delete a draft claim") .And .HaveCount(1); }
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(); }
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); }