]> git.somenet.org - pub/jan/dst18.git/blob - ass1-doc/src/test/java/dst/ass1/doc/tests/Ass1_4_2aTest.java
Add template for assignment 1
[pub/jan/dst18.git] / ass1-doc / src / test / java / dst / ass1 / doc / tests / Ass1_4_2aTest.java
1 package dst.ass1.doc.tests;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNotNull;
5 import static org.junit.Assert.assertNull;
6
7 import java.util.List;
8
9 import org.bson.Document;
10 import org.junit.ClassRule;
11 import org.junit.Rule;
12 import org.junit.Test;
13
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;
19
20 public class Ass1_4_2aTest {
21
22     @ClassRule
23     public static EmbeddedMongo embeddedMongo = new EmbeddedMongo();
24
25     @Rule
26     public MongoService mongo = new MongoService(new DocumentTestData());
27
28     @SuppressWarnings("unchecked")
29     @Test
30     public void findByMaterialId_returnsCorrectDocument() {
31         IDocumentQuery documentQuery = mongo.getDocumentQuery();
32
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"));
37
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"));
43     }
44
45     @Test
46     public void findByMaterialId_withInvalidId_returnsNull() throws Exception {
47         Document material = mongo.getDocumentQuery().findByMaterialId(1337L);
48         assertNull(material);
49     }
50
51 }