Skip to content

Commit

Permalink
Feat: set language code on Littlepay overlay (#2250)
Browse files Browse the repository at this point in the history
  • Loading branch information
lalver1 authored Jul 29, 2024
2 parents a10beb7 + 757551d commit 57a9f9c
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
3 changes: 2 additions & 1 deletion benefits/enrollment/templates/enrollment/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ <h1 class="pb-lg-8 pb-4">
element: '#{{ cta_button }}',
envUrl: '{{ card_tokenize_env }}',
options: {
color: '#046b99'
color: '#046b99',
language: '{{ overlay_language }}'
},
onTokenize: function (response) {
/* This function executes when the
Expand Down
4 changes: 4 additions & 0 deletions benefits/enrollment/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,9 @@ def index(request):
tokenize_system_error_form = forms.CardTokenizeFailForm(ROUTE_SYSTEM_ERROR, "form-card-tokenize-fail-system-error")
tokenize_success_form = forms.CardTokenizeSuccessForm(auto_id=True, label_suffix="")

# mapping from Django's I18N LANGUAGE_CODE to Littlepay's overlay language code
overlay_language = {"en": "en", "es": "es-419"}.get(request.LANGUAGE_CODE, "en")

context = {
"forms": [tokenize_retry_form, tokenize_server_error_form, tokenize_system_error_form, tokenize_success_form],
"cta_button": "tokenize_card",
Expand All @@ -197,6 +200,7 @@ def index(request):
"form_server_error": tokenize_server_error_form.id,
"form_success": tokenize_success_form.id,
"form_system_error": tokenize_system_error_form.id,
"overlay_language": overlay_language,
}

logger.debug(f'card_tokenize_url: {context["card_tokenize_url"]}')
Expand Down
12 changes: 12 additions & 0 deletions tests/pytest/enrollment/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,18 @@ def test_index_eligible_get(client, model_EligibilityType):
assert "token_field" in response.context_data
assert "form_retry" in response.context_data
assert "form_success" in response.context_data
assert "overlay_language" in response.context_data


@pytest.mark.django_db
@pytest.mark.usefixtures("mocked_session_agency", "mocked_session_verifier", "mocked_session_eligibility")
@pytest.mark.parametrize("LANGUAGE_CODE, overlay_language", [("en", "en"), ("es", "es-419"), ("unsupported", "en")])
def test_index_eligible_get_changed_language(client, LANGUAGE_CODE, overlay_language):
path = reverse(ROUTE_INDEX)
client.post(reverse("set_language"), data={"language": LANGUAGE_CODE})
response = client.get(path)

assert response.context_data["overlay_language"] == overlay_language


@pytest.mark.django_db
Expand Down

0 comments on commit 57a9f9c

Please sign in to comment.