public void shouldSetContactDetailOfEmployee()

in component-test/src/main/java/org/apache/fineract/cn/office/TestEmployee.java [217:261]


  public void shouldSetContactDetailOfEmployee() throws Exception {
    final Employee employee = EmployeeFactory.createRandomEmployee();
    this.organizationManager.createEmployee(employee);
    this.eventRecorder.wait(EventConstants.OPERATION_POST_EMPLOYEE, employee.getIdentifier());

    final ContactDetail email = new ContactDetail();
    email.setType(ContactDetail.Type.EMAIL.name());
    email.setGroup(ContactDetail.Group.PRIVATE.name());
    email.setValue("test@example.org");
    email.setPreferenceLevel(1);

    final ContactDetail phone = new ContactDetail();
    phone.setType(ContactDetail.Type.PHONE.name());
    phone.setGroup(ContactDetail.Group.PRIVATE.name());
    phone.setValue("123456789");
    phone.setPreferenceLevel(2);

    {
      this.organizationManager.setContactDetails(employee.getIdentifier(), Arrays.asList(email, phone));
      final boolean found = this.eventRecorder.wait(EventConstants.OPERATION_PUT_CONTACT_DETAIL, employee.getIdentifier());
      Assert.assertTrue(found);
    }

    final List<ContactDetail> savedContactDetails = this.organizationManager.fetchContactDetails(employee.getIdentifier());
    Assert.assertNotNull(savedContactDetails);
    Assert.assertEquals(2, savedContactDetails.size());

    final ContactDetail savedEmail = savedContactDetails.get(0);
    Assert.assertEquals(email.getType(), savedEmail.getType());
    Assert.assertEquals(email.getGroup(), savedEmail.getGroup());
    Assert.assertEquals(email.getValue(), savedEmail.getValue());
    Assert.assertEquals(email.getPreferenceLevel(), savedEmail.getPreferenceLevel());

    final ContactDetail savedPhone = savedContactDetails.get(1);
    Assert.assertEquals(phone.getType(), savedPhone.getType());
    Assert.assertEquals(phone.getGroup(), savedPhone.getGroup());
    Assert.assertEquals(phone.getValue(), savedPhone.getValue());
    Assert.assertEquals(phone.getPreferenceLevel(), savedPhone.getPreferenceLevel());

    {
      this.organizationManager.deleteEmployee(employee.getIdentifier());
      final boolean found = this.eventRecorder.wait(EventConstants.OPERATION_DELETE_EMPLOYEE, employee.getIdentifier());
      Assert.assertTrue(found);
    }
  }