Search in sources :

Example 51 with Task

use of io.crnk.test.mock.models.Task in project crnk-framework by crnk-project.

the class AbstractProxiedObjectsClientTest method proxyForNoneLazy.

@Test
public void proxyForNoneLazy() {
    Schedule schedule = new Schedule();
    schedule.setId(1L);
    schedule.setName("project");
    scheduleRepo.create(schedule);
    Task task = new Task();
    task.setId(2L);
    task.setName("test");
    taskRepo.create(task);
    scheduleTaskRepo.setRelation(schedule, task.getId(), "task");
    QuerySpec querySpec = new QuerySpec(Task.class);
    schedule = scheduleRepo.findOne(1L, querySpec);
    Task proxiedObject = schedule.getTask();
    Assert.assertNotNull(proxiedObject);
    Assert.assertEquals(2L, proxiedObject.getId().longValue());
    Assert.assertNull(proxiedObject.getName());
}
Also used : Task(io.crnk.test.mock.models.Task) Schedule(io.crnk.test.mock.models.Schedule) QuerySpec(io.crnk.core.queryspec.QuerySpec) Test(org.junit.Test)

Example 52 with Task

use of io.crnk.test.mock.models.Task in project crnk-framework by crnk-project.

the class AbstractProxiedObjectsClientTest method proxyForCollection.

private void proxyForCollection(boolean set) {
    Schedule schedule = new Schedule();
    schedule.setId(1L);
    schedule.setName("project");
    scheduleRepo.create(schedule);
    Task task = new Task();
    task.setId(2L);
    task.setName("test");
    taskRepo.create(task);
    taskScheduleRepo.setRelation(task, schedule.getId(), "schedule");
    // collection must be available as proxy
    QuerySpec querySpec = new QuerySpec(Task.class);
    schedule = scheduleRepo.findOne(1L, querySpec);
    Collection<Task> proxiedTasks = set ? schedule.getTasks() : schedule.getTasksList();
    Assert.assertNotNull(proxiedTasks);
    // check status without loading
    ObjectProxy proxy = (ObjectProxy) proxiedTasks;
    Assert.assertFalse(proxy.isLoaded());
    Assert.assertNotNull(proxy.getUrl());
    Assert.assertFalse(proxy.isLoaded());
    // lazy load
    Assert.assertEquals(1, proxiedTasks.size());
    Assert.assertTrue(proxy.isLoaded());
    task = proxiedTasks.iterator().next();
    Assert.assertEquals(2L, task.getId().longValue());
}
Also used : Task(io.crnk.test.mock.models.Task) Schedule(io.crnk.test.mock.models.Schedule) ObjectProxy(io.crnk.client.internal.proxy.ObjectProxy) QuerySpec(io.crnk.core.queryspec.QuerySpec)

Example 53 with Task

use of io.crnk.test.mock.models.Task in project crnk-framework by crnk-project.

the class AbstractProxiedObjectsClientTest method saveLazyCollectionChange.

@Test
public void saveLazyCollectionChange() {
    Schedule schedule = new Schedule();
    schedule.setId(1L);
    schedule.setName("project");
    scheduleRepo.create(schedule);
    Task task = new Task();
    task.setId(2L);
    task.setName("test");
    taskRepo.create(task);
    QuerySpec querySpec = new QuerySpec(Task.class);
    schedule = scheduleRepo.findOne(1L, querySpec);
    Collection<Task> proxiedTasks = schedule.getTasks();
    ObjectProxy proxy = (ObjectProxy) proxiedTasks;
    Assert.assertFalse(proxy.isLoaded());
    // add task to collection
    proxiedTasks.add(task);
    Assert.assertTrue(proxy.isLoaded());
    Assert.assertEquals(1, proxiedTasks.size());
    scheduleRepo.save(schedule);
    schedule = scheduleRepo.findOne(1L, querySpec);
    proxiedTasks = schedule.getTasks();
    Assert.assertEquals(1, proxiedTasks.size());
    // remove task from collection
    proxiedTasks.remove(task);
    Assert.assertEquals(1, proxiedTasks.size());
    scheduleRepo.save(schedule);
    schedule = scheduleRepo.findOne(1L, querySpec);
    proxiedTasks = schedule.getTasks();
    Assert.assertEquals(1, proxiedTasks.size());
}
Also used : Task(io.crnk.test.mock.models.Task) Schedule(io.crnk.test.mock.models.Schedule) ObjectProxy(io.crnk.client.internal.proxy.ObjectProxy) QuerySpec(io.crnk.core.queryspec.QuerySpec) Test(org.junit.Test)

Aggregations

Task (io.crnk.test.mock.models.Task)53 Test (org.junit.Test)42 QuerySpec (io.crnk.core.queryspec.QuerySpec)27 Project (io.crnk.test.mock.models.Project)11 Schedule (io.crnk.test.mock.models.Schedule)10 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)9 QueryParams (io.crnk.legacy.queryParams.QueryParams)6 ObjectProxy (io.crnk.client.internal.proxy.ObjectProxy)5 JsonNode (com.fasterxml.jackson.databind.JsonNode)4 Resource (io.crnk.core.engine.document.Resource)4 ResourceInformation (io.crnk.core.engine.information.resource.ResourceInformation)4 Span (org.springframework.cloud.sleuth.Span)4 SortSpec (io.crnk.core.queryspec.SortSpec)3 DefaultResourceList (io.crnk.core.resource.list.DefaultResourceList)3 TaskRepository (io.crnk.test.mock.repository.TaskRepository)3 Interceptor (okhttp3.Interceptor)3 Before (org.junit.Before)3 OkHttpAdapter (io.crnk.client.http.okhttp.OkHttpAdapter)2 OkHttpAdapterListener (io.crnk.client.http.okhttp.OkHttpAdapterListener)2 FilterSpec (io.crnk.core.queryspec.FilterSpec)2