diff --git a/src/templates/__tests__/Castform.test.js b/src/templates/__tests__/Castform.test.js index d2c92229..e035bf3f 100644 --- a/src/templates/__tests__/Castform.test.js +++ b/src/templates/__tests__/Castform.test.js @@ -1,47 +1,53 @@ import React from 'react'; import { render, cleanup } from '@testing-library/react'; -import path from 'path'; -import fs from 'fs'; +import FirebaseStub from 'gatsby-plugin-firebase'; import '../../i18n/index'; import Castform from '../Castform'; -let data = {}; +describe('Castform', () => { + let resume = {}; -beforeEach(() => { - const filePath = path.resolve(__dirname, '../../data/initialState.json'); - const file = fs.readFileSync(filePath); - data = JSON.parse(file); -}); - -afterEach(cleanup); - -it('renders correctly', () => { - const { container } = render(); - - expect(container).toBeTruthy(); - expect(container).toBeInTheDocument(); -}); - -describe('date of birth', () => { - const birthDateLabelMatcher = /Date of birth/i; - - it('is not shown if not provided', () => { - const { queryByText } = render(); - - expect(queryByText(birthDateLabelMatcher)).toBe(null); + beforeEach(async () => { + FirebaseStub.database().initializeData(); + const resumesPath = FirebaseStub.database().resumesPath; + const resumeId = FirebaseStub.database().emptyResumeId; + resume = ( + await FirebaseStub.database() + .ref(`${resumesPath}/${resumeId}`) + .once('value') + ).val(); }); - it('is shown if provided', () => { - const birthDate = new Date(1990, 0, 20); - const birthDateFormatted = '20 January 1990'; - data.profile.birthDate = birthDate; + afterEach(cleanup); - const { getByText } = render(); + it('renders correctly', () => { + const { container } = render(); - expect(getByText(birthDateLabelMatcher)).toBeTruthy(); - expect(getByText(birthDateLabelMatcher)).toBeInTheDocument(); - expect(getByText(birthDateFormatted)).toBeTruthy(); - expect(getByText(birthDateFormatted)).toBeInTheDocument(); + expect(container).toBeTruthy(); + expect(container).toBeInTheDocument(); + }); + + describe('date of birth', () => { + const birthDateLabelMatcher = /Date of birth/i; + + it('is not shown if not provided', () => { + const { queryByText } = render(); + + expect(queryByText(birthDateLabelMatcher)).toBe(null); + }); + + it('is shown if provided', () => { + const birthDate = new Date(1990, 0, 20); + const birthDateFormatted = '20 January 1990'; + resume.profile.birthDate = birthDate; + + const { getByText } = render(); + + expect(getByText(birthDateLabelMatcher)).toBeTruthy(); + expect(getByText(birthDateLabelMatcher)).toBeInTheDocument(); + expect(getByText(birthDateFormatted)).toBeTruthy(); + expect(getByText(birthDateFormatted)).toBeInTheDocument(); + }); }); });