From e87996b48b1380cffde27ef38c44a7f5ebee205e Mon Sep 17 00:00:00 2001 From: Danny Coates Date: Tue, 14 Jul 2020 16:29:08 -0700 Subject: [PATCH] test(l10n): follow-up test for #5948 (currency l10n) --- packages/fxa-payments-server/package.json | 1 + .../src/lib/AppLocalizationProvider.test.js | 22 ++++++++++++++++++- yarn.lock | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/fxa-payments-server/package.json b/packages/fxa-payments-server/package.json index a55c08cd073..b96021e8f0d 100644 --- a/packages/fxa-payments-server/package.json +++ b/packages/fxa-payments-server/package.json @@ -79,6 +79,7 @@ "express-http-proxy": "^1.6.0", "fetch-mock": "^8.1.0", "handlebars": "^4.5.3", + "intl": "1.2.5", "intl-pluralrules": "^1.1.1", "jest": "^24.9.0", "nock": "^12.0.3", diff --git a/packages/fxa-payments-server/src/lib/AppLocalizationProvider.test.js b/packages/fxa-payments-server/src/lib/AppLocalizationProvider.test.js index fa73c02377e..7dc6e636655 100644 --- a/packages/fxa-payments-server/src/lib/AppLocalizationProvider.test.js +++ b/packages/fxa-payments-server/src/lib/AppLocalizationProvider.test.js @@ -4,6 +4,9 @@ /* eslint jest/valid-expect: 0 */ +import IntlPolyfill from 'intl'; +Intl.NumberFormat = IntlPolyfill.NumberFormat; + import React from 'react'; import { render, cleanup } from '@testing-library/react'; import '@testing-library/jest-dom/extend-expect'; @@ -14,9 +17,10 @@ import sinon from 'sinon'; import fetchMock from 'fetch-mock'; import AppLocalizationProvider from './AppLocalizationProvider'; +import { getLocalizedCurrency } from './formats'; describe('', () => { - const locales = ['en-US', 'es-ES']; + const locales = ['en-GB', 'en-US', 'es-ES']; const bundles = ['greetings', 'farewells']; function waitUntilTranslated() { return waitUntil( @@ -28,6 +32,7 @@ describe('', () => { fetchMock.get('/locales/en-US/greetings.ftl', 'hello = Hello\n'); fetchMock.get('/locales/en-US/farewells.ftl', 'goodbye = Goodbye\n'); fetchMock.get('/locales/es-ES/greetings.ftl', 'hello = Hola\n'); + fetchMock.get('/locales/en-GB/greetings.ftl', 'hello = Hello { $amount }') fetchMock.get('*', { throws: new Error() }); }); @@ -119,4 +124,19 @@ describe('', () => { return expect(Promise.reject(err)).rejects.toHaveProperty('code', 404); }); + + it('translate to en-NZ currency', async () => { + const { getByTestId } = render( + +
+ +
untranslated
+
+
+
+ ); + await waitUntilTranslated(); + + expect(getByTestId('result')).toHaveTextContent('Hello ⁨US$1.23'); + }); }); diff --git a/yarn.lock b/yarn.lock index 5672f6a07dc..95709a17355 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15922,6 +15922,7 @@ fsevents@^1.2.7: handlebars: ^4.5.3 helmet: ^3.23.3 hot-shots: ^7.6.0 + intl: 1.2.5 intl-pluralrules: ^1.1.1 jest: ^24.9.0 joi: ^14.3.1