diff --git a/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java b/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java index 0bdeb70..8cbbe2a 100644 --- a/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java +++ b/com.examples.exercise/src/main/java/com/examples/exercise/DbMongo.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.List; +import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; @@ -33,11 +34,19 @@ public void updateDB(String id, String name) { } public boolean exists(String id) { + if (takeStudentsById(id) != null) { + return true; + } return false; } public Student takeStudentsById(String id) { - return null; + BasicDBObject searchQuery = new BasicDBObject(); + searchQuery.put("id", id); + DBObject toFind = students.findOne(searchQuery); + return toFind != null ? + new Student((String) toFind.get("id"), (String) toFind.get("name")) : + null; } public void add(Student student) { diff --git a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java index 8ddbd12..03e56b0 100644 --- a/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java +++ b/com.examples.exercise/src/test/java/com/examples/exercise/DbMongoTest.java @@ -37,13 +37,34 @@ public void testGetAllStudentsEmpty() { @Test public void testGetAllStudentsNotEmpty(){ - BasicDBObject document = new BasicDBObject(); - document.put("id", "1"); - document.put("name", "first"); - students.insert(document); + addStudent("1", "first"); assertEquals(1, database.getAllStudentsList().size()); assertEquals("1", database.getAllStudentsList().get(0).getId()); assertEquals("first", database.getAllStudentsList().get(0).getName()); } + private void addStudent(String id, String name) { + BasicDBObject document = new BasicDBObject(); + document.put("id", id); + document.put("name", name); + students.insert(document); + } + + @Test + public void testGetStudentByIdNotFound(){ + addStudent("1", "first"); + assertNull(database.takeStudentsById("2")); + } + + @Test + public void testGetStudentByIdFound(){ + addStudent("1", "first"); + Student found = database.takeStudentsById("1"); + assertNotNull(found); + assertEquals("1", found.getId()); + assertEquals("first", found.getName()); + } + + } +