diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/DocScanConstants.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/DocScanConstants.java index 8a4a729e..14ada31a 100644 --- a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/DocScanConstants.java +++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/DocScanConstants.java @@ -53,6 +53,10 @@ private DocScanConstants() { } public static final String CHECK_COMPLETION = "CHECK_COMPLETION"; public static final String SESSION_COMPLETION = "SESSION_COMPLETION"; public static final String CLIENT_SESSION_TOKEN_DELETED = "CLIENT_SESSION_TOKEN_DELETED"; + public static final String NEW_PDF_SUPPLIED = "NEW_PDF_SUPPLIED"; + public static final String INSTRUCTIONS_EMAIL_REQUESTED = "INSTRUCTIONS_EMAIL_REQUESTED"; + public static final String THANK_YOU_EMAIL_REQUESTED = "THANK_YOU_EMAIL_REQUESTED"; + public static final String FIRST_BRANCH_VISIT = "FIRST_BRANCH_VISIT"; public static final String ALWAYS = "ALWAYS"; public static final String FALLBACK = "FALLBACK"; diff --git a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/NotificationConfig.java b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/NotificationConfig.java index 9e6ede23..51871ea4 100644 --- a/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/NotificationConfig.java +++ b/yoti-sdk-api/src/main/java/com/yoti/api/client/docs/session/create/NotificationConfig.java @@ -175,6 +175,42 @@ public Builder forClientSessionCompletion() { return withTopic(DocScanConstants.CLIENT_SESSION_TOKEN_DELETED); } + /** + * Adds NEW_PDF_SUPPLIED to the list of topics that trigger notification messages + * + * @return the builder + */ + public Builder forNewPdfSupplied() { + return withTopic(DocScanConstants.NEW_PDF_SUPPLIED); + } + + /** + * Adds INSTRUCTIONS_EMAIL_REQUESTED to the list of topics that trigger notification messages + * + * @return the builder + */ + public Builder forInstructionsEmailRequested() { + return withTopic(DocScanConstants.INSTRUCTIONS_EMAIL_REQUESTED); + } + + /** + * Adds THANK_YOU_EMAIL_REQUESTED to the list of topics that trigger notification messages + * + * @return the builder + */ + public Builder forThankYouEmailRequested() { + return withTopic(DocScanConstants.THANK_YOU_EMAIL_REQUESTED); + } + + /** + * Adds FIRST_BRANCH_VISIT to the list of topics that trigger notification messages + * + * @return the builder + */ + public Builder forFirstBranchVisit() { + return withTopic(DocScanConstants.FIRST_BRANCH_VISIT); + } + /** * Adds a topic to the list of topics that trigger notification messages * diff --git a/yoti-sdk-api/src/test/java/com/yoti/api/client/docs/session/create/NotificationConfigTest.java b/yoti-sdk-api/src/test/java/com/yoti/api/client/docs/session/create/NotificationConfigTest.java index e315a1e9..8c137c87 100644 --- a/yoti-sdk-api/src/test/java/com/yoti/api/client/docs/session/create/NotificationConfigTest.java +++ b/yoti-sdk-api/src/test/java/com/yoti/api/client/docs/session/create/NotificationConfigTest.java @@ -69,6 +69,46 @@ public void shouldCreateSimpleNotificationConfigWithTaskCompletion() { assertThat(result.getTopics(), hasItem("RESOURCE_UPDATE")); } + @Test + public void shouldCreateSimpleNotificationConfigWithNewPdfSupplied() { + NotificationConfig result = NotificationConfig.builder() + .withEndpoint(SOME_ENDPOINT) + .forNewPdfSupplied() + .build(); + + assertThat(result.getTopics(), hasItem("NEW_PDF_SUPPLIED")); + } + + @Test + public void shouldCreateSimpleNotificationConfigWithInstructionsEmailRequested() { + NotificationConfig result = NotificationConfig.builder() + .withEndpoint(SOME_ENDPOINT) + .forInstructionsEmailRequested() + .build(); + + assertThat(result.getTopics(), hasItem("INSTRUCTIONS_EMAIL_REQUESTED")); + } + + @Test + public void shouldCreateSimpleNotificationConfigWithThankYouEmailRequested() { + NotificationConfig result = NotificationConfig.builder() + .withEndpoint(SOME_ENDPOINT) + .forThankYouEmailRequested() + .build(); + + assertThat(result.getTopics(), hasItem("THANK_YOU_EMAIL_REQUESTED")); + } + + @Test + public void shouldCreateSimpleNotificationConfigWithFirstBranchVisit() { + NotificationConfig result = NotificationConfig.builder() + .withEndpoint(SOME_ENDPOINT) + .forFirstBranchVisit() + .build(); + + assertThat(result.getTopics(), hasItem("FIRST_BRANCH_VISIT")); + } + @Test public void shouldCreateSimpleNotificationConfigWithAllNotificationOptions() { NotificationConfig result = NotificationConfig.builder()