Skip to content

Commit

Permalink
[CCAP-545] Update fake provider importer to work in dev and test, tes…
Browse files Browse the repository at this point in the history
…t cases, and remove flag (#894)
  • Loading branch information
cram-cfa authored Dec 9, 2024
1 parent 1c39065 commit c30c0dd
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
@Slf4j
@Component
@Profile("demo")
@Profile({"dev", "demo", "test"})
public class FakeProviderDataImporter implements InitializingBean {
@Autowired
private ProviderRepository providerRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import java.util.Map;
import org.ilgcc.app.data.ProviderRepositoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Component;
Expand All @@ -24,30 +23,25 @@ public class ValidateProviderNumber implements Action {
@Autowired
ProviderRepositoryService providerRepositoryService;

@Value("${il-gcc.validate-provider-id}")
boolean validateProviderId;

private final String PROVIDER_NUMBER = "providerResponseProviderNumber";

@Override
public Map<String, List<String>> runValidation(FormSubmission formSubmission, Submission submission) {
Map<String, List<String>> errorMessages = new HashMap<>();
String inputValue = (String) formSubmission.getFormData().get(PROVIDER_NUMBER);

if (validateProviderId) {
Locale locale = LocaleContextHolder.getLocale();

if (inputValue == null || inputValue.isBlank()) {
errorMessages.put(PROVIDER_NUMBER,
List.of(messageSource.getMessage("errors.provide-provider-number", null, locale)));
} else if (inputValue.length() < 8 || inputValue.length() > 15) {
errorMessages.put(PROVIDER_NUMBER,
List.of(messageSource.getMessage("errors.provide-provider-number-length", null, locale)));
} else if (!providerRepositoryService.isProviderIdValid(inputValue)) {
errorMessages.put(PROVIDER_NUMBER,
List.of(messageSource.getMessage("provider-response-provider-number.error.invalid-number", null,
locale)));
}
Locale locale = LocaleContextHolder.getLocale();

if (inputValue == null || inputValue.isBlank()) {
errorMessages.put(PROVIDER_NUMBER,
List.of(messageSource.getMessage("errors.provide-provider-number", null, locale)));
} else if (inputValue.length() < 8 || inputValue.length() > 15) {
errorMessages.put(PROVIDER_NUMBER,
List.of(messageSource.getMessage("errors.provide-provider-number-length", null, locale)));
} else if (!providerRepositoryService.isProviderIdValid(inputValue)) {
errorMessages.put(PROVIDER_NUMBER,
List.of(messageSource.getMessage("provider-response-provider-number.error.invalid-number", null,
locale)));
}

return errorMessages;
Expand Down
1 change: 0 additions & 1 deletion src/main/resources/application-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,5 @@ org:
jobs:
retry-back-off-time-seed: 1
il-gcc:
validate-provider-id: ${VALIDATE_PROVIDER_ID_FLAG:false}
dts:
processing-org: '4c-ccap-apps-testing'
1 change: 0 additions & 1 deletion src/main/resources/application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,6 @@ org:
enabled: ${JOBRUNR_DASHBOARD_ENABLED:false}
il-gcc:
generate-short-links: ${GENERATE_SHORT_LINKS_FLAG:false}
validate-provider-id: ${VALIDATE_PROVIDER_ID_FLAG:true}
show-no-provider-flow: ${SHOW_NO_PROVIDER_FLOW:true}
allow-provider-registration-flow: ${ALLOW_PROVIDER_REGISTRATION_FLOW:false}
dts:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ void ProviderresponseJourneyTest_validLink_No_Agreement_To_Care(){

// provider-number
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("provider-response-provider-number.title"));
testPage.enter("providerResponseProviderNumber", "123456789012345");
testPage.enter("providerResponseProviderNumber", "12345678901");
testPage.clickContinue();

// confirmation-code
Expand Down Expand Up @@ -92,7 +92,7 @@ void ProviderresponseJourneyTest_validLink() {

// provider-number
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("provider-response-provider-number.title"));
testPage.enter("providerResponseProviderNumber", "123456789012345");
testPage.enter("providerResponseProviderNumber", "12345678901");
testPage.clickContinue();

// confirmation-code
Expand Down Expand Up @@ -180,7 +180,7 @@ void ProviderresponseJourneyTest_noLink() {

// provider-number
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("provider-response-provider-number.title"));
testPage.enter("providerResponseProviderNumber", "123456789012345");
testPage.enter("providerResponseProviderNumber", "12345678901");
testPage.clickContinue();

// application-id
Expand Down Expand Up @@ -267,7 +267,7 @@ void ProviderresponseJourneyTest_noLink_invalidConfirmationCode() {

// provider-number
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("provider-response-provider-number.title"));
testPage.enter("providerResponseProviderNumber", "123456789012345");
testPage.enter("providerResponseProviderNumber", "12345678901");
testPage.clickContinue();

// application-id
Expand Down Expand Up @@ -313,7 +313,7 @@ void ProviderresponseJourneyTest_noLink_expiredConfirmationCode() {

// provider-number
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("provider-response-provider-number.title"));
testPage.enter("providerResponseProviderNumber", "123456789012345");
testPage.enter("providerResponseProviderNumber", "12345678901");
testPage.clickContinue();

// application-id
Expand Down Expand Up @@ -358,7 +358,7 @@ void ProviderresponseJourneyTest_noLink_alreadyResponded() {

// provider-number
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("provider-response-provider-number.title"));
testPage.enter("providerResponseProviderNumber", "123456789012345");
testPage.enter("providerResponseProviderNumber", "12345678901");
testPage.clickContinue();

// application-id
Expand All @@ -371,4 +371,79 @@ void ProviderresponseJourneyTest_noLink_alreadyResponded() {
assertThat(testPage.getHeader()).isEqualTo(
getEnMessageWithParams("provider-response-submit-start.responded.header", new Object[]{"Dev Provider"}));
}


@Test
void ProviderresponseJourneyTest_ProviderNumberValidation() {

driver.navigate().to("http://localhost:%s/providerresponse/submit".formatted(localServerPort));

// submit-start when application is still active
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("provider-response-submit-start.title"));
testPage.clickButton(getEnMessage("provider-response-submit-start.active.button"));

// provider-number
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("provider-response-provider-number.title"));
testPage.enter("providerResponseProviderNumber", "12345678903");
testPage.clickContinue();

// Errors
// Status = R
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("provider-response-provider-number.error.invalid-number"))).isTrue();

// Status = D
testPage.enter("providerResponseProviderNumber", "12345678904");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("provider-response-provider-number.error.invalid-number"))).isTrue();

// Status = W
testPage.enter("providerResponseProviderNumber", "12345678905");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("provider-response-provider-number.error.invalid-number"))).isTrue();

// Status = C
testPage.enter("providerResponseProviderNumber", "12345678906");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("provider-response-provider-number.error.invalid-number"))).isTrue();

// Status = A, 4 years old
testPage.enter("providerResponseProviderNumber", "12345678907");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("provider-response-provider-number.error.invalid-number"))).isTrue();

// Status = P, 5 years old
testPage.enter("providerResponseProviderNumber", "12345678908");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("provider-response-provider-number.error.invalid-number"))).isTrue();

// Doesn't exist at all
testPage.enter("providerResponseProviderNumber", "1234567891234");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("provider-response-provider-number.error.invalid-number"))).isTrue();

// Too short
testPage.enter("providerResponseProviderNumber", "12345");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("errors.provide-provider-number-length"))).isTrue();

// Too Long
testPage.enter("providerResponseProviderNumber", "12345123451234512345");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("errors.provide-provider-number-length"))).isTrue();

// Nothing
testPage.enter("providerResponseProviderNumber", " ");
testPage.clickContinue();
assertThat(testPage.getTitle()).isEqualTo(getEnMessage("errors.general-title"));
assertThat(testPage.hasErrorText(getEnMessage("errors.provide-provider-number"))).isTrue();
}
}
1 change: 0 additions & 1 deletion src/test/resources/application-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ org:
dashboard:
enabled: false
il-gcc:
validate-provider-id: false
dts:
url: ${DOCUMENT_TRANSFER_SERVICE_URL}
consumer-id: ${DOCUMENT_TRANSFER_SERVICE_CONSUMER_ID}
Expand Down

0 comments on commit c30c0dd

Please sign in to comment.