/* Copyright 2014 Fabian Steeg, hbz. Licensed under the Eclipse Public License 1.0 */
package tests;
import static org.fest.assertions.Assertions.assertThat;
import static play.test.Helpers.running;
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import com.fasterxml.jackson.databind.JsonNode;
import play.libs.Json;
/**
* Tests for searching resources with custom sorting.
*
* @author Fabian Steeg (fsteeg)
*/
@SuppressWarnings("javadoc")
public class SearchResourceSortOrder extends SearchTestsHarness {
/*@formatter:off@*/
@Test public void sortDefaultRelevance(){search("resource?name=der", Arrays.asList("2008", "1973","1993","1999", "1977"));}
@Test public void sortNewest(){search("resource?name=der&sort=newest", Arrays.asList( "2008", "1999", "1993", "1977","1973"));}
@Test public void sortOldest(){search("resource?name=der&sort=oldest", Arrays.asList("1973", "1977","1993", "1999", "2008"));}
/*@formatter:on@*/
private static void search(final String request, final List<String> years) {
running(TEST_SERVER, new Runnable() {
@Override
public void run() {
String response = call(request);
assertThat(response).isNotNull();
JsonNode json = Json.parse(response);
List<String> issued = json.findValuesAsText("issued");
assertThat(issued).isEqualTo(years);
}
});
}
}