Updated mock DatabaseContext to allow setting of resumes array

This commit is contained in:
gianantoniopini
2020-12-12 14:06:00 +01:00
parent 6e666b1435
commit d7123e511e
2 changed files with 21 additions and 15 deletions

View File

@ -1,7 +1,12 @@
import React, { createContext, memo, useState } from 'react'; import React, { createContext, memo, useState } from 'react';
let resumes = [];
const __setResumes = (value) => {
resumes = value;
};
const defaultState = { const defaultState = {
__resumes: [],
isUpdating: false, isUpdating: false,
createResume: async () => {}, createResume: async () => {},
duplicateResume: async () => {}, duplicateResume: async () => {},
@ -15,13 +20,11 @@ const defaultState = {
const DatabaseContext = createContext(defaultState); const DatabaseContext = createContext(defaultState);
const DatabaseProvider = ({ children }) => { const DatabaseProvider = ({ children }) => {
const [__resumes] = useState([{ id: 'ab1c2d' }]);
const [isUpdating] = useState(false); const [isUpdating] = useState(false);
const getResume = async (id) => { const getResume = async (id) => {
try { try {
const resume = await __resumes.find((resume) => { const resume = await resumes.find((resume) => {
return resume.id === id; return resume.id === id;
}); });
@ -44,7 +47,6 @@ const DatabaseProvider = ({ children }) => {
return ( return (
<DatabaseContext.Provider <DatabaseContext.Provider
value={{ value={{
__resumes,
isUpdating, isUpdating,
getResume, getResume,
createResume, createResume,
@ -64,3 +66,5 @@ export default DatabaseContext;
const memoizedProvider = memo(DatabaseProvider); const memoizedProvider = memo(DatabaseProvider);
export { memoizedProvider as DatabaseProvider }; export { memoizedProvider as DatabaseProvider };
export { __setResumes };

View File

@ -1,15 +1,18 @@
jest.mock('../../../contexts/UserContext'); //jest.mock('../../../contexts/UserContext');
jest.mock('../../../contexts/DatabaseContext'); jest.mock('../../../contexts/DatabaseContext');
jest.mock('../../../contexts/ResumeContext'); //jest.mock('../../../contexts/ResumeContext');
jest.mock('../../../contexts/StorageContext'); //jest.mock('../../../contexts/StorageContext');
import React from 'react'; import React from 'react';
import { render, cleanup } from '@testing-library/react'; import { render, cleanup } from '@testing-library/react';
import { UserProvider } from '../../../contexts/UserContext'; //import { UserProvider } from '../../../contexts/UserContext';
import { DatabaseProvider } from '../../../contexts/DatabaseContext'; import {
import { ResumeProvider } from '../../../contexts/ResumeContext'; DatabaseProvider,
import { StorageProvider } from '../../../contexts/StorageContext'; __setResumes,
} from '../../../contexts/DatabaseContext';
//import { ResumeProvider } from '../../../contexts/ResumeContext';
//import { StorageProvider } from '../../../contexts/StorageContext';
import Builder from '../builder'; import Builder from '../builder';
@ -17,9 +20,8 @@ afterEach(cleanup);
it('renders correctly', () => { it('renders correctly', () => {
const resumeId = 'ab1c2d'; const resumeId = 'ab1c2d';
//const resumes = [{ id: resumeId }]; const resumes = [{ id: resumeId }];
// The call below does not seem to work, therefore the "resumes" array initial value is currently set directly in the mock. __setResumes(resumes);
//DatabaseProvider.__resumes = resumes;
const container = render( const container = render(
<DatabaseProvider> <DatabaseProvider>