summaryrefslogtreecommitdiff
path: root/tst/com/p4square/grow/ccb/CCBProgressReporterTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tst/com/p4square/grow/ccb/CCBProgressReporterTest.java')
-rw-r--r--tst/com/p4square/grow/ccb/CCBProgressReporterTest.java231
1 files changed, 0 insertions, 231 deletions
diff --git a/tst/com/p4square/grow/ccb/CCBProgressReporterTest.java b/tst/com/p4square/grow/ccb/CCBProgressReporterTest.java
deleted file mode 100644
index 63a973a..0000000
--- a/tst/com/p4square/grow/ccb/CCBProgressReporterTest.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package com.p4square.grow.ccb;
-
-import com.p4square.ccbapi.CCBAPI;
-import com.p4square.ccbapi.model.*;
-import org.easymock.Capture;
-import org.easymock.EasyMock;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.time.LocalDate;
-import java.util.Date;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests for the CCBProgressReporter.
- */
-public class CCBProgressReporterTest {
-
- private static final String GROW_LEVEL = "GrowLevelTrain";
- private static final String ASSESSMENT_LEVEL = "GrowLevelAsmnt";
-
- private CCBProgressReporter reporter;
-
- private CCBAPI api;
- private CustomFieldCache cache;
-
- private CCBUser user;
- private Date date;
-
- @Before
- public void setUp() {
- // Setup some data for testing.
- IndividualProfile profile = new IndividualProfile();
- profile.setId(123);
- profile.setFirstName("Larry");
- profile.setLastName("Cucumber");
- profile.setEmail("larry.cucumber@example.com");
-
- user = new CCBUser(profile);
- date = new Date(1427889600000L); // 2015-04-01
-
- // Setup the mocks.
- api = EasyMock.mock(CCBAPI.class);
- cache = EasyMock.mock(CustomFieldCache.class);
- reporter = new CCBProgressReporter(api, cache);
- }
-
- private void setupCacheMocks() {
- // Setup the Grow Level field.
- CustomField growLevelDate = new CustomField();
- growLevelDate.setName("udf_ind_date_1");
- growLevelDate.setLabel(GROW_LEVEL);
-
- CustomField growLevelPulldown = new CustomField();
- growLevelPulldown.setName("udf_ind_pulldown_1");
- growLevelPulldown.setLabel(GROW_LEVEL);
-
- LookupTableItem believer = new LookupTableItem();
- believer.setId(1);
- believer.setOrder(2);
- believer.setName("Believer");
-
- EasyMock.expect(cache.getDateFieldByLabel(GROW_LEVEL))
- .andReturn(growLevelDate).anyTimes();
- EasyMock.expect(cache.getIndividualPulldownByLabel(GROW_LEVEL))
- .andReturn(growLevelPulldown).anyTimes();
- EasyMock.expect(cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_1, "Believer"))
- .andReturn(believer).anyTimes();
-
- // Setup the Grow Assessment field.
- CustomField growAssessmentDate = new CustomField();
- growAssessmentDate.setName("udf_ind_date_2");
- growAssessmentDate.setLabel(ASSESSMENT_LEVEL);
-
- CustomField growAssessmentPulldown = new CustomField();
- growAssessmentPulldown.setName("udf_ind_pulldown_2");
- growAssessmentPulldown.setLabel(ASSESSMENT_LEVEL);
-
- EasyMock.expect(cache.getDateFieldByLabel(ASSESSMENT_LEVEL))
- .andReturn(growAssessmentDate).anyTimes();
- EasyMock.expect(cache.getIndividualPulldownByLabel(ASSESSMENT_LEVEL))
- .andReturn(growAssessmentPulldown).anyTimes();
- EasyMock.expect(cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_2, "Believer"))
- .andReturn(believer).anyTimes();
- }
-
- @Test
- public void reportAssessmentComplete() throws Exception {
- // Setup mocks
- setupCacheMocks();
- Capture<UpdateIndividualProfileRequest> reqCapture = EasyMock.newCapture();
- EasyMock.expect(api.updateIndividualProfile(EasyMock.capture(reqCapture)))
- .andReturn(EasyMock.mock(UpdateIndividualProfileResponse.class));
- replay();
-
- // Test reporter
- reporter.reportAssessmentComplete(user, "Believer", date, "Data");
-
- // Assert that the profile was updated.
- verify();
- assertTrue(reqCapture.hasCaptured());
- UpdateIndividualProfileRequest req = reqCapture.getValue();
- assertEquals(1, req.getCustomPulldownFields().get("udf_pulldown_2").intValue());
- assertEquals("2015-04-01", req.getCustomDateFields().get("udf_date_2").toString());
- }
-
- @Test
- public void testReportChapterCompleteNoPreviousChapter() throws Exception {
- // Setup mocks
- setupCacheMocks();
- Capture<UpdateIndividualProfileRequest> reqCapture = EasyMock.newCapture();
- EasyMock.expect(api.updateIndividualProfile(EasyMock.capture(reqCapture)))
- .andReturn(EasyMock.mock(UpdateIndividualProfileResponse.class));
- replay();
-
- // Test reporter
- reporter.reportChapterComplete(user, "Believer", date);
-
- // Assert that the profile was updated.
- verify();
- assertTrue(reqCapture.hasCaptured());
- UpdateIndividualProfileRequest req = reqCapture.getValue();
- assertEquals(1, req.getCustomPulldownFields().get("udf_pulldown_1").intValue());
- assertEquals("2015-04-01", req.getCustomDateFields().get("udf_date_1").toString());
- }
-
- @Test
- public void testReportChapterCompleteLowerPreviousChapter() throws Exception {
- // Setup mocks
- setupCacheMocks();
- Capture<UpdateIndividualProfileRequest> reqCapture = EasyMock.newCapture();
- EasyMock.expect(api.updateIndividualProfile(EasyMock.capture(reqCapture)))
- .andReturn(EasyMock.mock(UpdateIndividualProfileResponse.class));
-
- setUserPulldownSelection(GROW_LEVEL, "Seeker");
-
- replay();
-
- // Test reporter
- reporter.reportChapterComplete(user, "Believer", date);
-
- // Assert that the profile was updated.
- verify();
- assertTrue(reqCapture.hasCaptured());
- UpdateIndividualProfileRequest req = reqCapture.getValue();
- assertEquals(1, req.getCustomPulldownFields().get("udf_pulldown_1").intValue());
- assertEquals("2015-04-01", req.getCustomDateFields().get("udf_date_1").toString());
- }
-
- @Test
- public void testReportChapterCompleteHigherPreviousChapter() throws Exception {
- // Setup mocks
- setupCacheMocks();
- setUserPulldownSelection(GROW_LEVEL, "Disciple");
-
- replay();
-
- // Test reporter
- reporter.reportChapterComplete(user, "Believer", date);
-
- // Assert that the profile was updated.
- verify();
- }
-
- @Test
- public void testReportChapterCompleteNoCustomField() throws Exception {
- // Setup mocks
- EasyMock.expect(cache.getDateFieldByLabel(EasyMock.anyString())).andReturn(null).anyTimes();
- EasyMock.expect(cache.getIndividualPulldownByLabel(EasyMock.anyString())).andReturn(null).anyTimes();
- EasyMock.expect(cache.getPulldownItemByName(EasyMock.anyObject(), EasyMock.anyString()))
- .andReturn(null).anyTimes();
- replay();
-
- // Test reporter
- reporter.reportChapterComplete(user, "Believer", date);
-
- // Assert that the profile was updated.
- verify();
- }
-
- @Test
- public void testReportChapterCompleteNoSuchValue() throws Exception {
- // Setup mocks
- setupCacheMocks();
- EasyMock.expect(cache.getPulldownItemByName(LookupTableType.UDF_IND_PULLDOWN_1, "Foo"))
- .andReturn(null).anyTimes();
- Capture<UpdateIndividualProfileRequest> reqCapture = EasyMock.newCapture();
- EasyMock.expect(api.updateIndividualProfile(EasyMock.capture(reqCapture)))
- .andReturn(EasyMock.mock(UpdateIndividualProfileResponse.class));
- replay();
-
- // Test reporter
- reporter.reportChapterComplete(user, "Foo", date);
-
- // Assert that the profile was updated.
- verify();
- assertTrue(reqCapture.hasCaptured());
- UpdateIndividualProfileRequest req = reqCapture.getValue();
- assertNull(req.getCustomPulldownFields().get("udf_pulldown_1"));
- assertEquals("2015-04-01", req.getCustomDateFields().get("udf_date_1").toString());
- }
-
- private void setUserPulldownSelection(final String field, final String value) {
- // Get the pulldown field collection for the user.
- CustomFieldCollection<CustomPulldownFieldValue> pulldowns = user.getProfile().getCustomPulldownFields();
- if (pulldowns == null) {
- pulldowns = new CustomFieldCollection<>();
- user.getProfile().setCustomPulldownFields(pulldowns);
- }
-
- // Create the selection for the value.
- PulldownSelection selection = new PulldownSelection();
- selection.setLabel(value);
-
- // Create the field/value pair and add it to the collection.
- CustomPulldownFieldValue fieldValue = new CustomPulldownFieldValue();
- fieldValue.setName(field); // This is unused by the test, but it should be a udf_ identifier.
- fieldValue.setLabel(field);
- fieldValue.setSelection(selection);
- pulldowns.add(fieldValue);
- }
-
- private void replay() {
- EasyMock.replay(api, cache);
- }
-
- private void verify() {
- EasyMock.verify(api, cache);
- }
-} \ No newline at end of file