package bo.gotthardt.todo;
import bo.gotthardt.jersey.parameters.ListFilteringFactory;
import bo.gotthardt.model.User;
import bo.gotthardt.model.todo.TodoItem;
import bo.gotthardt.model.todo.TodoList;
import bo.gotthardt.test.ApiIntegrationTest;
import bo.gotthardt.test.DummyAuth;
import bo.gotthardt.todolist.rest.TodoListResource;
import io.dropwizard.testing.junit.ResourceTestRule;
import org.junit.ClassRule;
import org.junit.Test;
import javax.ws.rs.core.Response;
import static bo.gotthardt.test.assertj.DropwizardAssertions.assertThat;
/**
* @author Bo Gotthardt
*/
public class TodoListResourceTest extends ApiIntegrationTest {
@ClassRule
public static final ResourceTestRule resources = ResourceTestRule.builder()
.addResource(new TodoListResource(db))
.addResource(new DummyAuth.Binder())
.addResource(ListFilteringFactory.getBinder())
.setMapper(getMapper())
.build();
@Test
public void blah() {
User user = new User("test", "blah", "Blah");
db.save(user);
DummyAuth.setUser(user);
TodoList list = new TodoList("testlist", user);
list.getItems().add(new TodoItem("testitem1"));
list.getItems().add(new TodoItem("testitem2"));
db.save(list);
assertThat(GET("/todolists/" + list.getId()))
.hasStatus(Response.Status.OK)
.hasJsonContent(list);
}
@Override
public ResourceTestRule getResources() {
return resources;
}
}