mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-15 01:01:43 +10:00
Attempt to test Builder, using Firebase mock
This commit is contained in:
14
__mocks__/gatsby-plugin-firebase.js
Normal file
14
__mocks__/gatsby-plugin-firebase.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import demoResume from '../src/data/demoState.json';
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
database: jest.fn().mockReturnValue({
|
||||||
|
ref: jest.fn().mockReturnValue({
|
||||||
|
once: jest.fn().mockResolvedValue({
|
||||||
|
val: jest.fn().mockReturnValue(demoResume),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
auth: jest.fn().mockReturnValue({
|
||||||
|
onAuthStateChanged: jest.fn(),
|
||||||
|
}),
|
||||||
|
};
|
||||||
@ -1,4 +1,4 @@
|
|||||||
import { createContext, memo, useState } from 'react';
|
import React, { createContext, memo, useState } from 'react';
|
||||||
|
|
||||||
const defaultState = {
|
const defaultState = {
|
||||||
__resumes: [],
|
__resumes: [],
|
||||||
@ -15,7 +15,7 @@ const defaultState = {
|
|||||||
const DatabaseContext = createContext(defaultState);
|
const DatabaseContext = createContext(defaultState);
|
||||||
|
|
||||||
const DatabaseProvider = ({ children }) => {
|
const DatabaseProvider = ({ children }) => {
|
||||||
const [__resumes] = useState([]);
|
const [__resumes] = useState([{ id: 'ab1c2d' }]);
|
||||||
|
|
||||||
const [isUpdating] = useState(false);
|
const [isUpdating] = useState(false);
|
||||||
|
|
||||||
|
|||||||
1
src/contexts/__mocks__/ResumeContext.js
Normal file
1
src/contexts/__mocks__/ResumeContext.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = {};
|
||||||
32
src/pages/app/__tests__/builder.mockContexts.test.js
Normal file
32
src/pages/app/__tests__/builder.mockContexts.test.js
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
jest.mock('../../../contexts/UserContext');
|
||||||
|
jest.mock('../../../contexts/DatabaseContext');
|
||||||
|
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 Builder from '../builder';
|
||||||
|
|
||||||
|
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 container = render(
|
||||||
|
<DatabaseProvider>
|
||||||
|
<Builder id={resumeId} />
|
||||||
|
</DatabaseProvider>,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(container).toBeTruthy();
|
||||||
|
//expect(container).toBeInTheDocument();
|
||||||
|
});
|
||||||
30
src/pages/app/__tests__/builder.mockFirebase.test.js
Normal file
30
src/pages/app/__tests__/builder.mockFirebase.test.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
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 Builder from '../builder';
|
||||||
|
|
||||||
|
afterEach(cleanup);
|
||||||
|
|
||||||
|
it('renders correctly', () => {
|
||||||
|
const resumeId = 'ab1c2d';
|
||||||
|
|
||||||
|
const container = render(
|
||||||
|
<UserProvider>
|
||||||
|
<DatabaseProvider>
|
||||||
|
<ResumeProvider>
|
||||||
|
<StorageProvider>
|
||||||
|
<Builder id={resumeId} />
|
||||||
|
</StorageProvider>
|
||||||
|
</ResumeProvider>
|
||||||
|
</DatabaseProvider>
|
||||||
|
</UserProvider>,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(container).toBeTruthy();
|
||||||
|
//expect(container).toBeInTheDocument();
|
||||||
|
});
|
||||||
@ -1,22 +0,0 @@
|
|||||||
jest.mock('../../../contexts/DatabaseContext');
|
|
||||||
jest.mock('../../../contexts/UserContext');
|
|
||||||
jest.mock('../../../contexts/StorageContext');
|
|
||||||
|
|
||||||
import React from 'react';
|
|
||||||
import { render, cleanup } from '@testing-library/react';
|
|
||||||
|
|
||||||
//import DatabaseContext from '../../../contexts/DatabaseContext';
|
|
||||||
import Builder from '../builder';
|
|
||||||
|
|
||||||
afterEach(cleanup);
|
|
||||||
|
|
||||||
it('renders correctly', () => {
|
|
||||||
const resumeId = 'ab1c2d';
|
|
||||||
//const resumes = [{ id: resumeId }];
|
|
||||||
//DatabaseContext.Provider.__resumes = resumes;
|
|
||||||
|
|
||||||
const { container } = render(<Builder id={resumeId} />);
|
|
||||||
|
|
||||||
expect(container).toBeTruthy();
|
|
||||||
expect(container).toBeInTheDocument();
|
|
||||||
});
|
|
||||||
Reference in New Issue
Block a user