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 = {
|
||||
__resumes: [],
|
||||
@ -15,7 +15,7 @@ const defaultState = {
|
||||
const DatabaseContext = createContext(defaultState);
|
||||
|
||||
const DatabaseProvider = ({ children }) => {
|
||||
const [__resumes] = useState([]);
|
||||
const [__resumes] = useState([{ id: 'ab1c2d' }]);
|
||||
|
||||
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