Builder: 'allow to change the language' test

This commit is contained in:
gianantoniopini
2021-01-06 10:10:15 +01:00
parent e99c73a5b1
commit 854020481c

View File

@ -10,6 +10,8 @@ import {
import FirebaseStub from 'gatsby-plugin-firebase'; import FirebaseStub from 'gatsby-plugin-firebase';
import { SettingsProvider } from '../../../contexts/SettingsContext';
import { ModalProvider } from '../../../contexts/ModalContext';
import { UserProvider } from '../../../contexts/UserContext'; import { UserProvider } from '../../../contexts/UserContext';
import { import {
DatabaseProvider, DatabaseProvider,
@ -45,15 +47,19 @@ describe('Builder', () => {
); );
container = render( container = render(
<UserProvider> <SettingsProvider>
<DatabaseProvider> <ModalProvider>
<ResumeProvider> <UserProvider>
<StorageProvider> <DatabaseProvider>
<Builder id={resume.id} /> <ResumeProvider>
</StorageProvider> <StorageProvider>
</ResumeProvider> <Builder id={resume.id} />
</DatabaseProvider> </StorageProvider>
</UserProvider>, </ResumeProvider>
</DatabaseProvider>
</UserProvider>
</ModalProvider>
</SettingsProvider>,
); );
await act(async () => { await act(async () => {
@ -111,14 +117,18 @@ describe('Builder', () => {
describe('settings', () => { describe('settings', () => {
it('allow to change the language', async () => { it('allow to change the language', async () => {
const languageSelectElement = screen.getByLabelText('Language'); const languageSelectElement = screen.getByLabelText('Language');
console.log(languageSelectElement.value); const newLanguage = 'it';
fireEvent.change(languageSelectElement, { target: { value: 'it' } }); const now = new Date().getTime();
console.log(languageSelectElement.value);
expect(languageSelectElement).toHaveValue('it'); fireEvent.change(languageSelectElement, {
target: { value: newLanguage },
});
expect(languageSelectElement).toHaveValue(newLanguage);
expect( expect(
screen.getByLabelText(new RegExp('date of birth', 'i')), screen.queryByLabelText(new RegExp('date of birth', 'i')),
).toBeInTheDocument(); ).toBeNull();
expect( expect(
screen.getByLabelText(new RegExp('data di nascita', 'i')), screen.getByLabelText(new RegExp('data di nascita', 'i')),
).toBeInTheDocument(); ).toBeInTheDocument();
@ -129,8 +139,8 @@ describe('Builder', () => {
const mockUpdateFunctionCallArgument = const mockUpdateFunctionCallArgument =
mockUpdateFunction.mock.calls[0][0]; mockUpdateFunction.mock.calls[0][0];
expect(mockUpdateFunctionCallArgument.id).toBe(resume.id); expect(mockUpdateFunctionCallArgument.id).toBe(resume.id);
expect(mockUpdateFunctionCallArgument.profile.address.line1).toBe( expect(mockUpdateFunctionCallArgument.metadata.language).toBe(
newInputValue, newLanguage,
); );
expect(mockUpdateFunctionCallArgument.updatedAt).toBeGreaterThanOrEqual( expect(mockUpdateFunctionCallArgument.updatedAt).toBeGreaterThanOrEqual(
now, now,