diff options
| author | Jesse Morgan <jesse@jesterpm.net> | 2018-07-08 22:03:53 -0700 | 
|---|---|---|
| committer | Jesse Morgan <jesse@jesterpm.net> | 2018-07-08 22:03:53 -0700 | 
| commit | 3dac0195d484bebd1c604e175bcddd2edb994f82 (patch) | |
| tree | 825e7819e1a0a3d1edb5b90627a15a4b65c62a31 /src/test | |
| parent | 151f74ffa870561bbb3c857c0f07aeb4b27968f5 (diff) | |
Add unit tests for groups models
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/java/com/p4square/ccbapi/model/GetGroupProfilesResponseTest.java | 106 | 
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..b20aa09 --- /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(false, group.isInactive()); +        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 | 
