Builder.test: modified draft version of test for data update

This commit is contained in:
gianantoniopini
2020-12-21 15:16:35 +01:00
parent 7450b1c683
commit 9dc1f1b89b
2 changed files with 18 additions and 9 deletions

View File

@ -74,6 +74,7 @@ describe('builder', () => {
resume.profile.address.line1 = newInputValue;
const ref = firebaseMock.database().ref(`resumes/${resumeId}`);
const firebaseMockUpdateFunction = jest.spyOn(ref, 'update');
const now = Date.now();
await ref.update({
...resume,
@ -87,26 +88,29 @@ describe('builder', () => {
firebaseMockUpdateFunction.mock.calls[0][0];
expect(firebaseMockUpdateFunctionCallArgument.id).toBe(resume.id);
expect(firebaseMockUpdateFunctionCallArgument.profile.address.line1).toBe(newInputValue);
expect(firebaseMockUpdateFunctionCallArgument.updatedAt).toBeGreaterThanOrEqual(now);
*/
const input = screen.getByLabelText(new RegExp('address line 1', 'i'));
const newInputValue = 'test street 123';
const ref = firebaseMock.database().ref(`resumes/${resumeId}`);
const firebaseMockUpdateFunction = jest.spyOn(ref, 'update');
const now = Date.now();
fireEvent.change(input, { target: { value: newInputValue } });
expect(input.value).toBe(newInputValue);
await waitFor(() =>
expect(firebaseMockUpdateFunction).toHaveBeenCalledTimes(1),
);
const firebaseMockUpdateFunctionCallArgument =
firebaseMockUpdateFunction.mock.calls[0][0];
expect(firebaseMockUpdateFunctionCallArgument.id).toBe(resume.id);
expect(firebaseMockUpdateFunctionCallArgument.profile.address.line1).toBe(
const databaseRef = firebaseMock.database().ref(`resumes/${resume.id}`);
await waitFor(() => expect(databaseRef.__updateCalls.length).toBe(1), {
timeout: 4000,
});
const databaseRefUpdateCallArgument = databaseRef.__updateCalls[0];
expect(databaseRefUpdateCallArgument.id).toBe(resume.id);
expect(databaseRefUpdateCallArgument.profile.address.line1).toBe(
newInputValue,
);
expect(databaseRefUpdateCallArgument.updatedAt).toBeGreaterThanOrEqual(
now,
);
});
});
});