Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import app.employee.Employee;
- import app.employee.EmployeeController;
- import app.employee.EmployeeDao;
- import com.google.gson.Gson;
- import com.mongodb.MongoClient;
- import com.mongodb.client.MongoCollection;
- import org.bson.Document;
- import org.junit.Before;
- import org.junit.Test;
- import org.mongodb.morphia.Datastore;
- import org.mongodb.morphia.Morphia;
- import org.mongodb.morphia.query.Query;
- import test_data.dummy_data.EmployeeDummy;
- import java.io.IOException;
- import java.nio.file.Files;
- import java.nio.file.Paths;
- import java.util.List;
- import java.util.stream.Stream;
- import static org.junit.jupiter.api.Assertions.assertEquals;
- public class EmployeeTest {
- private Morphia morphia;
- private Datastore datastore;
- private MongoClient client;
- @Before
- public void setup() {
- morphia = new Morphia();
- client = new MongoClient();
- morphia.mapPackage("com.babayaga.beavercoffee.order");
- datastore = morphia.createDatastore(client, "beaverDB");
- datastore.getDB().dropDatabase();
- datastore.getDB().createCollection("employees", null);
- datastore.ensureIndexes();
- try (Stream<String> stream = Files.lines(Paths.get("src/test/java/test_data/employees.txt"))) {
- MongoCollection<Document> collection = client.getDatabase("beaverDB").getCollection("employees");
- stream.map(Document::parse)
- .forEach(collection::insertOne);
- System.out.println(collection.count());
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- /**
- * View Employees
- */
- @Test
- public void print_employees() {
- final Query<Employee> query = datastore.createQuery(Employee.class);
- final List<Employee> orders = query.asList();
- orders.forEach(System.out::println);
- }
- @Test
- public void get_all_employees_from_api() {
- final EmployeeDao dao = new EmployeeDao(datastore);
- final EmployeeController controller = new EmployeeController(dao);
- final List<Employee> employees = controller.getAllEmployees();
- employees.forEach(System.out::println);
- }
- @Test
- public void get_employee_by_id() {
- final EmployeeDao dao = new EmployeeDao(datastore);
- final EmployeeController controller = new EmployeeController(dao);
- String id = "78970117-3715-4f91-8b4f-c4f3342f5a84";
- final Employee employee = controller.getEmployeeById(id);
- System.out.println(employee);
- }
- @Test
- public void should_update_employee_with_new_values() {
- final EmployeeDao dao = new EmployeeDao(datastore);
- final EmployeeController controller = new EmployeeController(dao);
- Employee employeeToBeUpdated = controller.getEmployeeById("78970117-3715-4f91-8b4f-c4f3342f5a83");
- Employee employee = new Gson().fromJson(EmployeeDummy.updatedData, Employee.class);
- Employee updatedEmployee = employeeToBeUpdated.overwriteEmployee(employee);
- assertEquals(updatedEmployee.get_id(), employeeToBeUpdated.get_id());
- dao.createEmployee(updatedEmployee);
- assertEquals(2, datastore.getCollection(Employee.class).count());
- }
- @Test
- public void get_employees_during_specified_timeperiod() {
- final Query<Employee> query = datastore.createQuery(Employee.class);
- query.filter("employee.details.employmentHistory.startDate >", 1526633863);
- query.filter("employee.details.employmentHistory.endDate <", 1526947200);
- final List<Employee> employees = query.asList();
- assertEquals(2, employees.size());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement