summaryrefslogtreecommitdiff
path: root/src/test/java/com/p4square/ccbapi/model/GetGroupProfilesResponseTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/p4square/ccbapi/model/GetGroupProfilesResponseTest.java')
-rw-r--r--src/test/java/com/p4square/ccbapi/model/GetGroupProfilesResponseTest.java106
1 files changed, 106 insertions, 0 deletions
diff --git a/src/test/java/com/p4square/ccbapi/model/GetGroupProfilesResponseTest.java b/src/test/java/com/p4square/ccbapi/model/GetGroupProfilesResponseTest.java
new file mode 100644
index 0000000..c62844c
--- /dev/null
+++ b/src/test/java/com/p4square/ccbapi/model/GetGroupProfilesResponseTest.java
@@ -0,0 +1,106 @@
+package com.p4square.ccbapi.model;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Tests for parsing GetGroupProfilesResponse.
+ */
+public class GetGroupProfilesResponseTest extends XmlBinderTestBase {
+
+ /**
+ * Assert that all of the fields bind appropriately for a single profile response.
+ */
+ @Test
+ public void testGetGroupProfilesResponse() throws Exception {
+ final GetGroupProfilesResponse response = parseFile("ccb_group_profile_from_id_response.xml",
+ GetGroupProfilesResponse.class);
+
+ assertNull("Response should not have errors", response.getErrors());
+ assertNotNull(response.getGroups());
+ assertEquals(1, response.getGroups().size());
+
+ final GroupProfile group = response.getGroups().get(0);
+
+ // IDs
+ assertEquals(750, group.getId());
+
+ assertEquals("Adamant by Lisa Bevere Book Study", group.getName());
+ assertTrue(group.getDescription().startsWith("What is the truth?"));
+ assertTrue(group.getImageUrl().isEmpty());
+ assertEquals("webcal://example.ccbchurch.com/group_calendar.ics?id=750&tk=764EFA883DDA1E11DB47671C4A3BBD9E",
+ group.getCalendarFeedUrl());
+
+ // Main Leader
+ assertEquals(26102, group.getMainLeader().getId());
+ assertEquals("Jane", group.getMainLeader().getFirstName());
+ assertEquals("Doe", group.getMainLeader().getLastName());
+ assertEquals("Jane Doe", group.getMainLeader().getFullName());
+ assertEquals("jane.doe@example.com", group.getMainLeader().getEmail());
+ assertEquals(Phone.Type.CONTACT, group.getMainLeader().getPhones().get(0).getType());
+ assertEquals("+12068675309", group.getMainLeader().getPhones().get(0).getNumber());
+
+ // Coach
+ assertEquals(29, group.getCoach().getId());
+ assertEquals("John", group.getCoach().getFirstName());
+ assertEquals("Doe", group.getCoach().getLastName());
+ assertEquals("John Doe", group.getCoach().getFullName());
+ assertEquals("john.doe@example.com", group.getCoach().getEmail());
+ assertEquals("", group.getCoach().getPhones().get(0).getNumber());
+
+ // Director
+ assertEquals(33082, group.getDirector().getId());
+ assertEquals("Jeff", group.getDirector().getFirstName());
+ assertEquals("Doe", group.getDirector().getLastName());
+ assertEquals("Jeff Doe", group.getDirector().getFullName());
+ assertEquals("jeff.doe@example.com", group.getDirector().getEmail());
+ assertEquals("", group.getDirector().getPhones().get(0).getNumber());
+
+ // Membership Capacity
+ assertEquals(0, group.getLeaders().size());
+ assertEquals(0, group.getParticipants().size());
+ assertEquals(1, group.getCurrentMembers());
+ assertNull(group.getGroupCapacity());
+ assertTrue(group.isGroupCapacityUnlimited());
+
+ // Address
+ assertEquals(Address.Type.MEETING, group.getAddresses().get(0).getType());
+ assertEquals("1234 Example St", group.getAddresses().get(0).getStreetAddress());
+ assertEquals("Puyallup", group.getAddresses().get(0).getCity());
+ assertEquals("WA", group.getAddresses().get(0).getState());
+ assertEquals("", group.getAddresses().get(0).getZip());
+ assertEquals("-122.000000", group.getAddresses().get(0).getLongitude());
+ assertEquals("47.000000", group.getAddresses().get(0).getLatitude());
+ assertEquals("1234 Example St", group.getAddresses().get(0).getLine_1());
+ assertEquals("Puyallup, WA", group.getAddresses().get(0).getLine_2());
+
+ // Attributes
+ assertEquals(false, group.isChildcareProvided());
+ assertEquals(true, group.isListed());
+ assertEquals(true, group.isPublicSearchListed());
+ assertEquals(true, group.isActive());
+ assertEquals(true, group.isNotification());
+ assertEquals(InteractionType.MEMBERS_INTERACT, group.getInteractionType());
+ assertEquals(MembershipType.MODERATED, group.getMembershipType());
+
+ // User Defined Fields
+ assertEquals("udf_1", group.getCustomPulldownFields().getByLabel("Gender").getName());
+ assertEquals("Gender", group.getCustomPulldownFields().getByLabel("Gender").getLabel());
+ assertEquals(2, group.getCustomPulldownFields().getByLabel("Gender").getSelection().getId());
+ assertEquals("Female only", group.getCustomPulldownFields().getByLabel("Gender").getSelection().getLabel());
+ assertEquals(false, group.getCustomPulldownFields().getByLabel("Gender").isAdminOnly());
+
+ // Reference Attributes
+ assertReferenceEquals(4, "Tuesday", group.getMeetingDay());
+ assertReferenceEquals(33, "7:00 pm", group.getMeetingTime());
+ assertReferenceEquals(4, "Community", group.getGroupType());
+ assertReferenceEquals(13, "Adults", group.getDepartment());
+ assertReferenceEquals(18, "Puyallup", group.getArea());
+ }
+
+ private void assertReferenceEquals(int id, String name, Reference ref) {
+ assertEquals(id, ref.getId());
+ assertEquals(name, ref.getName());
+ }
+} \ No newline at end of file