public async Task Should_Not_Be_Authorized_On_Given_Record() { var id = new LaunchRecordId(new Guid("bad361de-a6d5-425a-9cf6-f9b2dd236be6")); var client = new LaunchRecordClient(Factory.CreateClient()); await ServiceProvider.WithScoped <RocketDbContext>() .Invoke( async z => { var faker = new RocketFaker(); var rocket = faker.Generate(); var record = new LaunchRecordFaker(new[] { rocket }.ToList()).Generate(); z.Add(rocket); record.Id = id; z.Add(record); await z.SaveChangesAsync(); return(record.Id); } ); Func <Task> action = () => client.DeleteLaunchRecordAsync(id.Value); await action.Should().ThrowAsync <ApiException <ProblemDetails> >() .Where(z => z.StatusCode == 403 && z.Result.Status == 403 && z.Result.Title == "Forbidden"); }
public async Task Should_Not_Be_Authorized_On_Given_Record() { var id = new LaunchRecordId(new Guid("bad361de-a6d5-425a-9cf6-f9b2dd236be6")); await ServiceProvider.WithScoped <RocketDbContext>() .Invoke( async z => { var faker = new RocketFaker(); var rocket = faker.Generate(); var record = new LaunchRecordFaker(new[] { rocket }.ToList()).Generate(); z.Add(rocket); record.Id = id; z.Add(record); await z.SaveChangesAsync(); return(record.Id); } ); Func <Task> action = () => ServiceProvider.WithScoped <IMediator>().Invoke( mediator => mediator.Send(new DeleteLaunchRecord.Request { Id = id }) ); await action.Should().ThrowAsync <NotAuthorizedException>(); }
public async Task Should_Not_Get_A_Missing_Launch_Record() { Func <Task> action = () => ServiceProvider.WithScoped <IMediator>().Invoke( mediator => mediator.Send(new GetLaunchRecord.Request { Id = LaunchRecordId.New() }) ); await action.Should().ThrowAsync <NotFoundException>(); }
private async Task <LaunchRecord> GetLaunchRecord(LaunchRecordId id, CancellationToken cancellationToken) { var rocket = await _dbContext.LaunchRecords .Include(z => z.Rocket) .FirstOrDefaultAsync(z => z.Id == id, cancellationToken) .ConfigureAwait(false); if (rocket == null) { throw new NotFoundException(); } return(rocket); }
// ReSharper disable once RouteTemplates.ParameterTypeAndConstraintsMismatch public partial Task <ActionResult> PatchLaunchRecord([BindRequired][FromRoute] LaunchRecordId id, EditLaunchRecord.PatchRequest model);