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';
let resumes = [];
const __setResumes = (value) => {
resumes = value;
};
const defaultState = {
__resumes: [],
isUpdating: false,
createResume: async () => {},
duplicateResume: async () => {},
@ -15,13 +20,11 @@ const defaultState = {
const DatabaseContext = createContext(defaultState);
const DatabaseProvider = ({ children }) => {
const [__resumes] = useState([{ id: 'ab1c2d' }]);
const [isUpdating] = useState(false);
const getResume = async (id) => {
try {
const resume = await __resumes.find((resume) => {
const resume = await resumes.find((resume) => {
return resume.id === id;
});
@ -44,7 +47,6 @@ const DatabaseProvider = ({ children }) => {
return (
<DatabaseContext.Provider
value={{
__resumes,
isUpdating,
getResume,
createResume,
@ -64,3 +66,5 @@ export default DatabaseContext;
const memoizedProvider = memo(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/ResumeContext');
jest.mock('../../../contexts/StorageContext');
//jest.mock('../../../contexts/ResumeContext');
//jest.mock('../../../contexts/StorageContext');
import React from 'react';
import { render, cleanup } from '@testing-library/react';
import { UserProvider } from '../../../contexts/UserContext';
import { DatabaseProvider } from '../../../contexts/DatabaseContext';
import { ResumeProvider } from '../../../contexts/ResumeContext';
import { StorageProvider } from '../../../contexts/StorageContext';
//import { UserProvider } from '../../../contexts/UserContext';
import {
DatabaseProvider,
__setResumes,
} from '../../../contexts/DatabaseContext';
//import { ResumeProvider } from '../../../contexts/ResumeContext';
//import { StorageProvider } from '../../../contexts/StorageContext';
import Builder from '../builder';
@ -17,9 +20,8 @@ afterEach(cleanup);
it('renders correctly', () => {
const resumeId = 'ab1c2d';
//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.
//DatabaseProvider.__resumes = resumes;
const resumes = [{ id: resumeId }];
__setResumes(resumes);
const container = render(
<DatabaseProvider>