public async Task <IHttpActionResult> Revoke([FromBody] RevokePermissionsRouteValues routeValues) { if (routeValues.Ukprn == null) { ModelState.AddModelError(nameof(routeValues.Ukprn), "A Ukprn needs to be supplied"); } if (string.IsNullOrWhiteSpace(routeValues.AccountLegalEntityPublicHashedId)) { ModelState.AddModelError(nameof(routeValues.AccountLegalEntityPublicHashedId), "A Public Hashed Id for an Account Legal Entity needs to be supplied"); } if (routeValues.OperationsToRevoke == null || routeValues.OperationsToRevoke.Length == 0) { ModelState.AddModelError(nameof(routeValues.OperationsToRevoke), "One or more operations need to be supplied"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var command = new RevokePermissionsCommand( ukprn: routeValues.Ukprn.Value, accountLegalEntityPublicHashedId: routeValues.AccountLegalEntityPublicHashedId, operationsToRevoke: routeValues.OperationsToRevoke); await _mediator.Send(command); return(Ok()); }
public RevokeTestsFixture() { RevokePermissionsRouteValues = new RevokePermissionsRouteValues( ukprn: 299792458, accountLegalEntityPublicHashedId: "DEADBEEF", operationsToRevoke: new[] { Operation.Recruitment }); Mediator = new Mock <IMediator>(); Mediator .Setup(x => x.Send(It.IsAny <RevokePermissionsCommand>(), It.IsAny <CancellationToken>())) .ReturnsAsync(Unit.Value); PermissionsController = new PermissionsController(Mediator.Object); }