diff options
| author | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2021-04-20 23:38:02 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <ruben@unlimited.pizza> | 2021-04-20 23:38:02 +0200 |
| commit | 47b0bfe47e6f13d549897149b0abc4a72ba8ac88 (patch) | |
| tree | cd694411d47898a4eb10b1c0e6787f81fce6f0e6 /src/components/language_selector/language_selector.test.js | |
| parent | 879fa389c2592760def75177eefbd3193e1845c9 (diff) | |
Add tests to second batch of components
- Error Block
- Forum List
- Language Selector
- Post
- Tag
- Topic Summary
Diffstat (limited to 'src/components/language_selector/language_selector.test.js')
| -rw-r--r-- | src/components/language_selector/language_selector.test.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/components/language_selector/language_selector.test.js b/src/components/language_selector/language_selector.test.js new file mode 100644 index 0000000..baf11bb --- /dev/null +++ b/src/components/language_selector/language_selector.test.js @@ -0,0 +1,44 @@ +import '@testing-library/jest-dom/extend-expect'; + +import { locale } from 'svelte-i18n'; +import { act, render } from '@testing-library/svelte'; +import userEvent from '@testing-library/user-event'; +import '$/config/i18n'; + +import LanguageSelector from './language_selector.svelte'; + +const internals = { + results: null +}; + +describe('Language Selector component', () => { + + beforeEach(() => { + + internals.results = render(LanguageSelector); + }); + + test('Should display languages in their own language', () => { + + expect(internals.results.getByText('English')) + .toBeVisible(); + expect(internals.results.getByText('Español')) + .toBeVisible(); + }); + + test('Should change locale when a language is selected', async () => { + + locale.subscribe((localeValue) => { + + expect(localeValue).toBe('en-US'); + })(); + const spanish = internals.results.getByText('Español'); + userEvent.selectOptions(spanish.closest('select'), spanish); + await act(); + locale.subscribe((localeValue) => { + + expect(localeValue).toBe('es'); + })(); + }); +}); + |