@Test public void getJobsRecommendations() throws Exception { server.enqueue(new MockResponse().setBody(file("recommended_jobs.json"))); Response<List<PartialJob>, HttpError> response = resource.getJobsRecommendationsForUser("some_id").execute(); // If no exception was thrown then the spec is build correctly. assertThat(response.body().get(0).id()).isEqualTo("61723_4cae01"); assertThat(response.body().get(0).contact().jobCompany().name()).isEqualTo("Rails Heroes"); }
@Test(expected = IllegalStateException.class) public void getJobsRecommendationsReusingCallSpecShouldThrowException() throws Exception { server.enqueue(new MockResponse().setBody(file("recommended_jobs.json"))); CallSpec<List<PartialJob>, HttpError> spec = resource.getJobsRecommendationsForUser("some_id"); spec.execute(); spec.execute(); } }
@Test public void getJobsRecommendationsWithPagination() throws Exception { server.enqueue(new MockResponse().setBody(file("recommended_jobs.json"))); server.enqueue(new MockResponse().setBody(file("recommended_jobs.json"))); CallSpec<List<PartialJob>, HttpError> spec = resource.getJobsRecommendationsForUser("some_id"); spec.execute(); CallSpec<List<PartialJob>, HttpError> clonedSpec = spec.clone(); Response<List<PartialJob>, HttpError> response = clonedSpec.queryParam("limit", 10) .queryParam("offset", 1) .execute(); assertThat(response.body().get(0).id()).isEqualTo("61723_4cae01"); }