/sigmah/src/test/java/org/sigmah/client/page/entry/editor/AdminChangeTest.java

http://sigma-h.googlecode.com/ · Java · 59 lines · 29 code · 17 blank · 13 comment · 0 complexity · a0708c4d5dcbf79bb7871a3b0744014e MD5 · raw file

  1. /*
  2. * All Sigmah code is released under the GNU General Public License v3
  3. * See COPYRIGHT.txt and LICENSE.txt.
  4. */
  5. package org.sigmah.client.page.entry.editor;
  6. import org.junit.Assert;
  7. import org.junit.Test;
  8. import org.sigmah.client.mock.DispatcherStub;
  9. import org.sigmah.client.mock.DummyData;
  10. import org.sigmah.client.mock.MockEventBus;
  11. import org.sigmah.shared.dto.AdminEntityDTO;
  12. import org.sigmah.shared.dto.AdminLevelDTO;
  13. import org.sigmah.shared.dto.SchemaDTO;
  14. import org.sigmah.shared.dto.SiteDTO;
  15. import java.util.Map;
  16. import static org.easymock.EasyMock.createNiceMock;
  17. /*
  18. * @author Alex Bertram
  19. */
  20. public class AdminChangeTest {
  21. @Test
  22. public void testChange3rdLevelAdmin() {
  23. // collaborator: event bus
  24. MockEventBus eventBus = new MockEventBus();
  25. // collaborator: command service
  26. DispatcherStub service = new DispatcherStub();
  27. // collaborator: view
  28. AdminFieldSetPresenter.View view = createNiceMock(AdminFieldSetPresenter.View.class);
  29. // test data
  30. SchemaDTO schema = DummyData.PEAR();
  31. SiteDTO site = DummyData.PEAR_Sites().get(4);
  32. // CLASS UNDER TEST
  33. AdminFieldSetPresenter presenter = new AdminFieldSetPresenter(service, schema.getActivityById(91).getDatabase().getCountry(), view);
  34. // VERIFY: changing one adminlevel works properlty
  35. presenter.setSite(site);
  36. presenter.onSelectionChanged(3, new AdminEntityDTO(3, 9221, "Ruizi"));
  37. Map<String,Object> properties = presenter.getPropertyMap();
  38. Assert.assertEquals("Nord Kivu", ((AdminEntityDTO) properties.get(AdminLevelDTO.getPropertyName(1))).getName());
  39. Assert.assertEquals("Beni", ((AdminEntityDTO) properties.get(AdminLevelDTO.getPropertyName(2))).getName());
  40. Assert.assertEquals("Ruizi", ((AdminEntityDTO) properties.get(AdminLevelDTO.getPropertyName(3))).getName());
  41. }
  42. }