mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-19 03:01:53 +10:00
Exported LoadingScreen testId and language Storage item key in order to be used in unit tests
This commit is contained in:
@ -3,8 +3,10 @@ import React, { memo } from 'react';
|
||||
import { getRandomTip } from '../../data/tips';
|
||||
import Logo from '../shared/Logo';
|
||||
|
||||
const dataTestId = 'loading-screen';
|
||||
|
||||
const LoadingScreen = () => (
|
||||
<Modal open hideBackdrop>
|
||||
<Modal data-testid={dataTestId} open hideBackdrop>
|
||||
<Fade in>
|
||||
<div className="w-screen h-screen flex justify-center items-center outline-none">
|
||||
<div className="flex flex-col items-center">
|
||||
@ -17,3 +19,4 @@ const LoadingScreen = () => (
|
||||
);
|
||||
|
||||
export default memo(LoadingScreen);
|
||||
export { dataTestId };
|
||||
|
||||
@ -2,6 +2,8 @@ import i18next from 'i18next';
|
||||
import React, { createContext, memo, useEffect, useState } from 'react';
|
||||
import themeConfig from '../data/themeConfig';
|
||||
|
||||
const languageStorageItemKey = 'language';
|
||||
|
||||
const defaultState = {
|
||||
theme: 'Dark',
|
||||
setTheme: () => {},
|
||||
@ -18,7 +20,7 @@ const SettingsProvider = ({ children }) => {
|
||||
useEffect(() => {
|
||||
const prefTheme = localStorage.getItem('theme') || defaultState.theme;
|
||||
const prefLanguage =
|
||||
localStorage.getItem('language') || defaultState.language;
|
||||
localStorage.getItem(languageStorageItemKey) || defaultState.language;
|
||||
setTheme(prefTheme);
|
||||
setLanguage(prefLanguage);
|
||||
}, []);
|
||||
@ -32,7 +34,7 @@ const SettingsProvider = ({ children }) => {
|
||||
}, [theme]);
|
||||
|
||||
useEffect(() => {
|
||||
localStorage.setItem('language', language);
|
||||
localStorage.setItem(languageStorageItemKey, language);
|
||||
i18next.changeLanguage(language);
|
||||
}, [language]);
|
||||
|
||||
@ -54,4 +56,4 @@ export default SettingsContext;
|
||||
|
||||
const memoizedProvider = memo(SettingsProvider);
|
||||
|
||||
export { memoizedProvider as SettingsProvider };
|
||||
export { memoizedProvider as SettingsProvider, languageStorageItemKey };
|
||||
|
||||
@ -10,7 +10,11 @@ import {
|
||||
|
||||
import FirebaseStub, { DatabaseConstants } from 'gatsby-plugin-firebase';
|
||||
|
||||
import { SettingsProvider } from '../../../contexts/SettingsContext';
|
||||
import { dataTestId as loadingScreenTestId } from '../../../components/router/LoadingScreen';
|
||||
import {
|
||||
SettingsProvider,
|
||||
languageStorageItemKey,
|
||||
} from '../../../contexts/SettingsContext';
|
||||
import { ModalProvider } from '../../../contexts/ModalContext';
|
||||
import { UserProvider } from '../../../contexts/UserContext';
|
||||
import {
|
||||
@ -25,7 +29,6 @@ describe('Builder', () => {
|
||||
let resumeId = null;
|
||||
let resume = null;
|
||||
let mockDatabaseUpdateFunction = null;
|
||||
const loadingScreenTestId = 'loading-screen';
|
||||
|
||||
async function setup(
|
||||
resumeIdParameter,
|
||||
@ -118,8 +121,6 @@ describe('Builder', () => {
|
||||
});
|
||||
|
||||
describe('settings', () => {
|
||||
const languageStorageItemKey = 'language';
|
||||
|
||||
beforeEach(async () => {
|
||||
await setup(DatabaseConstants.demoStateResume1Id);
|
||||
});
|
||||
|
||||
@ -9,6 +9,7 @@ import FirebaseStub, { DatabaseConstants } from 'gatsby-plugin-firebase';
|
||||
|
||||
import '../../../i18n/index';
|
||||
import '../../../utils/dayjs';
|
||||
import { dataTestId as loadingScreenTestId } from '../../../components/router/LoadingScreen';
|
||||
import { SettingsProvider } from '../../../contexts/SettingsContext';
|
||||
import { ModalProvider } from '../../../contexts/ModalContext';
|
||||
import { UserProvider } from '../../../contexts/UserContext';
|
||||
@ -20,7 +21,6 @@ import Dashboard from '../dashboard';
|
||||
describe('Dashboard', () => {
|
||||
let resumes = null;
|
||||
const user = DatabaseConstants.user1;
|
||||
const loadingScreenTestId = 'loading-screen';
|
||||
|
||||
async function setup(waitForLoadingScreenToDisappear = true) {
|
||||
FirebaseStub.database().initializeData();
|
||||
|
||||
Reference in New Issue
Block a user