Search in sources :

Example 6 with RelationshipsResourcePatch

use of io.crnk.core.engine.internal.dispatcher.controller.RelationshipsResourcePatch in project crnk-framework by crnk-project.

the class ResourceIdControllerTest method checkPatchRelationship.

private void checkPatchRelationship(Resource resource, ResourceIdentifier scheduleId) {
    JsonPath path = pathBuilder.build("/relationIdTest/" + resource.getId() + "/relationships/testLookupAlways");
    Document newDocument = createDocument(scheduleId);
    // WHEN PATCH
    RelationshipsResourcePatch sut = new RelationshipsResourcePatch(resourceRegistry, typeParser, modificationFilters);
    Response taskResponse = sut.handle(path, emptyTaskQuery, null, newDocument);
    // THEN PATCH
    assertThat(taskResponse.getHttpStatus()).isEqualTo(HttpStatus.NO_CONTENT_204);
    // validate relationship not accessed, only id set => performance
    RelationIdTestResource entity = repository.findOne(1L, new QuerySpec(RelationIdTestResource.class));
    Assert.assertEquals(scheduleId != null ? Long.parseLong(scheduleId.getId()) : null, entity.getTestLookupAlwaysId());
    Assert.assertNull(entity.getTestLookupAlways());
}
Also used : Response(io.crnk.core.engine.dispatcher.Response) RelationshipsResourcePatch(io.crnk.core.engine.internal.dispatcher.controller.RelationshipsResourcePatch) JsonPath(io.crnk.core.engine.internal.dispatcher.path.JsonPath) Document(io.crnk.core.engine.document.Document) QuerySpec(io.crnk.core.queryspec.QuerySpec) RelationIdTestResource(io.crnk.core.mock.models.RelationIdTestResource)

Aggregations

RelationshipsResourcePatch (io.crnk.core.engine.internal.dispatcher.controller.RelationshipsResourcePatch)6 JsonPath (io.crnk.core.engine.internal.dispatcher.path.JsonPath)6 BaseControllerTest (io.crnk.core.engine.internal.dispatcher.controller.BaseControllerTest)5 Test (org.junit.Test)5 Response (io.crnk.core.engine.dispatcher.Response)4 Document (io.crnk.core.engine.document.Document)4 Resource (io.crnk.core.engine.document.Resource)3 ResourcePost (io.crnk.core.engine.internal.dispatcher.controller.ResourcePost)3 Project (io.crnk.core.mock.models.Project)3 QuerySpec (io.crnk.core.queryspec.QuerySpec)3 JsonApiResource (io.crnk.core.resource.annotations.JsonApiResource)3 ResourceRegistry (io.crnk.core.engine.registry.ResourceRegistry)2 ResourcePath (io.crnk.core.engine.internal.dispatcher.path.ResourcePath)1 RelationIdTestResource (io.crnk.core.mock.models.RelationIdTestResource)1 TaskToProjectRepository (io.crnk.core.mock.repository.TaskToProjectRepository)1 UserToProjectRepository (io.crnk.core.mock.repository.UserToProjectRepository)1