Updated Firebase mock to allow use of demo resume

This commit is contained in:
gianantoniopini
2020-12-12 13:17:57 +01:00
parent 8ffe61a94a
commit 6e666b1435
2 changed files with 44 additions and 2 deletions

View File

@ -1,10 +1,46 @@
import demoResume from '../src/data/demoState.json'; 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 = { module.exports = {
__useDemoResume: __useDemoResume,
__getResumeId: __getResumeId,
database: jest.fn().mockReturnValue({ database: jest.fn().mockReturnValue({
ref: jest.fn().mockReturnValue({ ref: jest.fn().mockReturnValue({
once: jest.fn().mockResolvedValue({ once: jest.fn().mockResolvedValue({
val: jest.fn().mockReturnValue(demoResume), val: jest.fn().mockReturnValue(getResume()),
}), }),
}), }),
}), }),

View File

@ -1,6 +1,11 @@
import React from 'react'; import React from 'react';
import { render, cleanup } from '@testing-library/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 { UserProvider } from '../../../contexts/UserContext';
import { DatabaseProvider } from '../../../contexts/DatabaseContext'; import { DatabaseProvider } from '../../../contexts/DatabaseContext';
import { ResumeProvider } from '../../../contexts/ResumeContext'; import { ResumeProvider } from '../../../contexts/ResumeContext';
@ -11,7 +16,8 @@ import Builder from '../builder';
afterEach(cleanup); afterEach(cleanup);
it('renders correctly', () => { it('renders correctly', () => {
const resumeId = 'ab1c2d'; firebaseMockUseDemoResume(true);
const resumeId = firebaseMockGetResumeId();
const container = render( const container = render(
<UserProvider> <UserProvider>