diff --git a/__mocks__/gatsby-plugin-firebase.js b/__mocks__/gatsby-plugin-firebase.js index 354d09fd..c238aaa2 100644 --- a/__mocks__/gatsby-plugin-firebase.js +++ b/__mocks__/gatsby-plugin-firebase.js @@ -1,10 +1,46 @@ import demoResume from '../src/data/demoState.json'; +import emptyResume from '../src/data/initialState.json'; + +let resumesDictionary = {}; +let useDemoResume = false; + +const init = () => { + resumesDictionary['demore'] = demoResume; + resumesDictionary['mtre01'] = emptyResume; + + for (var key in resumesDictionary) { + const resume = resumesDictionary[key]; + + resume.id = key; + + let date = new Date('December 15, 2020 11:20:25'); + resume.updatedAt = date.valueOf(); + date.setMonth(date.getMonth() - 2); + resume.createdAt = date.valueOf(); + } +}; + +const getResume = () => { + return useDemoResume ? demoResume : emptyResume; +}; + +const __useDemoResume = (value) => { + useDemoResume = value; +}; + +const __getResumeId = () => { + return getResume().id; +}; + +init(); module.exports = { + __useDemoResume: __useDemoResume, + __getResumeId: __getResumeId, database: jest.fn().mockReturnValue({ ref: jest.fn().mockReturnValue({ once: jest.fn().mockResolvedValue({ - val: jest.fn().mockReturnValue(demoResume), + val: jest.fn().mockReturnValue(getResume()), }), }), }), diff --git a/src/pages/app/__tests__/builder.mockFirebase.test.js b/src/pages/app/__tests__/builder.mockFirebase.test.js index 74e4e996..b474c100 100644 --- a/src/pages/app/__tests__/builder.mockFirebase.test.js +++ b/src/pages/app/__tests__/builder.mockFirebase.test.js @@ -1,6 +1,11 @@ import React from 'react'; import { render, cleanup } from '@testing-library/react'; +import { + __useDemoResume as firebaseMockUseDemoResume, + __getResumeId as firebaseMockGetResumeId, +} from 'gatsby-plugin-firebase'; + import { UserProvider } from '../../../contexts/UserContext'; import { DatabaseProvider } from '../../../contexts/DatabaseContext'; import { ResumeProvider } from '../../../contexts/ResumeContext'; @@ -11,7 +16,8 @@ import Builder from '../builder'; afterEach(cleanup); it('renders correctly', () => { - const resumeId = 'ab1c2d'; + firebaseMockUseDemoResume(true); + const resumeId = firebaseMockGetResumeId(); const container = render(