From b196ca1bf546b9d263b2a65d66aca15d383fb317 Mon Sep 17 00:00:00 2001 From: gianantoniopini <63844628+gianantoniopini@users.noreply.github.com> Date: Mon, 25 Jan 2021 17:54:36 +0100 Subject: [PATCH] Dashboard page: added unit test related to create resume interaction --- src/pages/app/__tests__/dashboard.test.js | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/pages/app/__tests__/dashboard.test.js b/src/pages/app/__tests__/dashboard.test.js index 5e5e9ce3..8a697403 100644 --- a/src/pages/app/__tests__/dashboard.test.js +++ b/src/pages/app/__tests__/dashboard.test.js @@ -157,8 +157,11 @@ describe('Dashboard', () => { describe('with valid name', () => { const resumeName = 'Resume for SW development roles'; + let now = 0; beforeEach(() => { + now = new Date().getTime(); + fireEvent.change(nameTextBox, { target: { value: resumeName }, }); @@ -201,6 +204,29 @@ describe('Dashboard', () => { await expectResumeToBeRenderedInPreview({ name: resumeName }); }); + + it('adds resume in initial state to database', async () => { + await waitForModalWindowToHaveBeenClosed(); + await waitForResumeToBeRenderedInPreview({ name: resumeName }); + + const actualUserResumes = ( + await FirebaseStub.database() + .ref(DatabaseConstants.resumesPath) + .orderByChild('user') + .equalTo(user.uid) + .once('value') + ).val(); + expect(Object.values(actualUserResumes)).toHaveLength(3); + + const actualUserResumesFiltered = Object.values( + actualUserResumes, + ).filter((resume) => resume.name === resumeName); + expect(actualUserResumesFiltered).toHaveLength(1); + const createdResume = actualUserResumesFiltered[0]; + expect(createdResume.createdAt).toBeTruthy(); + expect(createdResume.createdAt).toBeGreaterThanOrEqual(now); + expect(createdResume.createdAt).toEqual(createdResume.updatedAt); + }); }); });