public async Task Cannot_delete_resource() { // Arrange Sofa existingSofa = _fakers.Sofa.Generate(); await _testContext.RunOnDatabaseAsync(async dbContext => { dbContext.Sofas.Add(existingSofa); await dbContext.SaveChangesAsync(); }); string route = "/sofas/" + existingSofa.StringId; // Act (HttpResponseMessage httpResponse, ErrorDocument responseDocument) = await _testContext.ExecuteDeleteAsync <ErrorDocument>(route); // Assert httpResponse.Should().HaveStatusCode(HttpStatusCode.MethodNotAllowed); responseDocument.Errors.Should().HaveCount(1); Error error = responseDocument.Errors[0]; error.StatusCode.Should().Be(HttpStatusCode.MethodNotAllowed); error.Title.Should().Be("The request method is not allowed."); error.Detail.Should().Be("Resource does not support DELETE requests."); }
public async Task Can_update_resource() { // Arrange Sofa existingSofa = _fakers.Sofa.Generate(); await _testContext.RunOnDatabaseAsync(async dbContext => { dbContext.Sofas.Add(existingSofa); await dbContext.SaveChangesAsync(); }); var requestBody = new { data = new { type = "sofas", id = existingSofa.StringId, attributes = new { } } }; string route = "/sofas/" + existingSofa.StringId; // Act (HttpResponseMessage httpResponse, _) = await _testContext.ExecutePatchAsync <string>(route, requestBody); // Assert httpResponse.Should().HaveStatusCode(HttpStatusCode.NoContent); }