mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-15 09:11:57 +10:00
Deleted obsolete Context mocks; added more Asserts to builder.test
This commit is contained in:
@ -1,70 +0,0 @@
|
||||
import React, { createContext, memo, useState } from 'react';
|
||||
|
||||
let resumes = [];
|
||||
|
||||
const __setResumes = (value) => {
|
||||
resumes = value;
|
||||
};
|
||||
|
||||
const defaultState = {
|
||||
isUpdating: false,
|
||||
createResume: async () => {},
|
||||
duplicateResume: async () => {},
|
||||
deleteResume: () => {},
|
||||
getResume: async () => {},
|
||||
getResumes: async () => {},
|
||||
updateResume: async () => {},
|
||||
debouncedUpdateResume: async () => {},
|
||||
};
|
||||
|
||||
const DatabaseContext = createContext(defaultState);
|
||||
|
||||
const DatabaseProvider = ({ children }) => {
|
||||
const [isUpdating] = useState(false);
|
||||
|
||||
const getResume = async (id) => {
|
||||
try {
|
||||
const resume = await resumes.find((resume) => {
|
||||
return resume.id === id;
|
||||
});
|
||||
|
||||
return resume !== 'undefined' ? resume : null;
|
||||
} catch (error) {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
const createResume = async ({ name }) => {};
|
||||
|
||||
const duplicateResume = async (originalResume) => {};
|
||||
|
||||
const updateResume = async (resume) => {};
|
||||
|
||||
const debouncedUpdateResume = {};
|
||||
|
||||
const deleteResume = async (id) => {};
|
||||
|
||||
return (
|
||||
<DatabaseContext.Provider
|
||||
value={{
|
||||
isUpdating,
|
||||
getResume,
|
||||
createResume,
|
||||
duplicateResume,
|
||||
updateResume,
|
||||
deleteResume,
|
||||
debouncedUpdateResume,
|
||||
}}
|
||||
>
|
||||
{children}
|
||||
</DatabaseContext.Provider>
|
||||
);
|
||||
};
|
||||
|
||||
export default DatabaseContext;
|
||||
|
||||
const memoizedProvider = memo(DatabaseProvider);
|
||||
|
||||
export { memoizedProvider as DatabaseProvider };
|
||||
|
||||
export { __setResumes };
|
||||
@ -1 +0,0 @@
|
||||
module.exports = {};
|
||||
@ -1 +0,0 @@
|
||||
module.exports = {};
|
||||
@ -1 +0,0 @@
|
||||
module.exports = {};
|
||||
@ -1,34 +0,0 @@
|
||||
//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,
|
||||
__setResumes,
|
||||
} 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 }];
|
||||
__setResumes(resumes);
|
||||
|
||||
const container = render(
|
||||
<DatabaseProvider>
|
||||
<Builder id={resumeId} />
|
||||
</DatabaseProvider>,
|
||||
);
|
||||
|
||||
expect(container).toBeTruthy();
|
||||
//expect(container).toBeInTheDocument();
|
||||
});
|
||||
@ -1,44 +0,0 @@
|
||||
import React from 'react';
|
||||
import { act, render, cleanup } from '@testing-library/react';
|
||||
|
||||
import firebaseMock from 'gatsby-plugin-firebase';
|
||||
|
||||
import { UserProvider } from '../../../contexts/UserContext';
|
||||
import { DatabaseProvider } from '../../../contexts/DatabaseContext';
|
||||
import { ResumeProvider } from '../../../contexts/ResumeContext';
|
||||
import { StorageProvider } from '../../../contexts/StorageContext';
|
||||
|
||||
import Builder from '../builder';
|
||||
|
||||
beforeEach(() => {
|
||||
firebaseMock.auth().__init();
|
||||
firebaseMock.database().__init();
|
||||
});
|
||||
|
||||
afterEach(cleanup);
|
||||
|
||||
it('renders correctly', async () => {
|
||||
firebaseMock.database().__useDemoResume(true);
|
||||
const resume = firebaseMock.database().__getResume();
|
||||
|
||||
const element = (
|
||||
<UserProvider>
|
||||
<DatabaseProvider>
|
||||
<ResumeProvider>
|
||||
<StorageProvider>
|
||||
<Builder id={resume.id} />
|
||||
</StorageProvider>
|
||||
</ResumeProvider>
|
||||
</DatabaseProvider>
|
||||
</UserProvider>
|
||||
);
|
||||
let container = null;
|
||||
|
||||
act(() => {
|
||||
container = render(element);
|
||||
});
|
||||
|
||||
await firebaseMock.auth().signInAnonymously();
|
||||
|
||||
expect(container).toBeTruthy();
|
||||
});
|
||||
91
src/pages/app/__tests__/builder.test.js
Normal file
91
src/pages/app/__tests__/builder.test.js
Normal file
@ -0,0 +1,91 @@
|
||||
import React from 'react';
|
||||
import { act, cleanup, render, screen } from '@testing-library/react';
|
||||
|
||||
import firebaseMock from 'gatsby-plugin-firebase';
|
||||
|
||||
import { UserProvider } from '../../../contexts/UserContext';
|
||||
import { DatabaseProvider } from '../../../contexts/DatabaseContext';
|
||||
import { ResumeProvider } from '../../../contexts/ResumeContext';
|
||||
import { StorageProvider } from '../../../contexts/StorageContext';
|
||||
import Builder from '../builder';
|
||||
|
||||
let resume = null;
|
||||
|
||||
beforeEach(() => {
|
||||
firebaseMock.auth().__init();
|
||||
firebaseMock.database().__init();
|
||||
});
|
||||
|
||||
afterEach(cleanup);
|
||||
|
||||
describe('builder', () => {
|
||||
describe('with demo resume', () => {
|
||||
beforeEach(async () => {
|
||||
firebaseMock.database().__useDemoResume(true);
|
||||
resume = firebaseMock.database().__getResume();
|
||||
|
||||
render(
|
||||
<UserProvider>
|
||||
<DatabaseProvider>
|
||||
<ResumeProvider>
|
||||
<StorageProvider>
|
||||
<Builder id={resume.id} />
|
||||
</StorageProvider>
|
||||
</ResumeProvider>
|
||||
</DatabaseProvider>
|
||||
</UserProvider>,
|
||||
);
|
||||
|
||||
await act(async () => {
|
||||
await firebaseMock.auth().signInAnonymously();
|
||||
});
|
||||
});
|
||||
|
||||
it('renders first and last name', async () => {
|
||||
expect(
|
||||
screen.getByLabelText(new RegExp('first name', 'i')),
|
||||
).toHaveDisplayValue(resume.profile.firstName);
|
||||
expect(
|
||||
screen.getByLabelText(new RegExp('last name', 'i')),
|
||||
).toHaveDisplayValue(resume.profile.lastName);
|
||||
expect(
|
||||
screen.getAllByText(new RegExp(resume.profile.firstName, 'i')).length,
|
||||
).toBeTruthy();
|
||||
expect(
|
||||
screen.getAllByText(new RegExp(resume.profile.lastName, 'i')).length,
|
||||
).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
describe('with empty resume', () => {
|
||||
beforeEach(async () => {
|
||||
firebaseMock.database().__useDemoResume(false);
|
||||
resume = firebaseMock.database().__getResume();
|
||||
|
||||
render(
|
||||
<UserProvider>
|
||||
<DatabaseProvider>
|
||||
<ResumeProvider>
|
||||
<StorageProvider>
|
||||
<Builder id={resume.id} />
|
||||
</StorageProvider>
|
||||
</ResumeProvider>
|
||||
</DatabaseProvider>
|
||||
</UserProvider>,
|
||||
);
|
||||
|
||||
await act(async () => {
|
||||
await firebaseMock.auth().signInAnonymously();
|
||||
});
|
||||
});
|
||||
|
||||
it('renders empty first and last name', async () => {
|
||||
expect(
|
||||
screen.getByLabelText(new RegExp('first name', 'i')),
|
||||
).not.toHaveDisplayValue();
|
||||
expect(
|
||||
screen.getByLabelText(new RegExp('last name', 'i')),
|
||||
).not.toHaveDisplayValue();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user