1 package dst.ass1.doc.tests;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNotNull;
5 import static org.junit.Assert.assertNull;
9 import org.bson.Document;
10 import org.junit.ClassRule;
11 import org.junit.Rule;
12 import org.junit.Test;
14 import dst.ass1.doc.DocumentTestData;
15 import dst.ass1.doc.EmbeddedMongo;
16 import dst.ass1.doc.IDocumentQuery;
17 import dst.ass1.doc.MongoService;
18 import dst.ass1.jpa.util.Constants;
20 public class Ass1_4_2aTest {
23 public static EmbeddedMongo embeddedMongo = new EmbeddedMongo();
26 public MongoService mongo = new MongoService(new DocumentTestData());
28 @SuppressWarnings("unchecked")
30 public void findByMaterialId_returnsCorrectDocument() {
31 IDocumentQuery documentQuery = mongo.getDocumentQuery();
33 Document material = documentQuery.findByMaterialId(2L);
34 assertEquals(2L, material.getLong(Constants.I_MATERIAL), 0);
35 assertEquals("quiz", material.getString(Constants.M_MATERIAL_TYPE));
36 assertEquals("text", material.getString("quiz_type"));
38 List<Document> questions = (List<Document>) material.get("questions");
39 assertNotNull(questions);
40 assertEquals(7, questions.size());
41 assertEquals("How exactly does the rabies pathogen work?", questions.get(3).get("text"));
42 assertEquals(10, questions.get(3).get("points"));
46 public void findByMaterialId_withInvalidId_returnsNull() throws Exception {
47 Document material = mongo.getDocumentQuery().findByMaterialId(1337L);