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

This commit is contained in:
gianantoniopini
2020-12-20 17:36:24 +01:00
parent b3be9e5f50
commit 45edbded87
2 changed files with 31 additions and 17 deletions

View File

@ -126,8 +126,6 @@ const database = () => {
};
const update = async (value) => {
console.log('update');
console.log(value);
if (resumesPath) {
if (value === null) {
delete __resumesDictionary[databaseLocationId];

View File

@ -69,28 +69,44 @@ describe('builder', () => {
describe('updates data', () => {
it('when input value is changed', async () => {
/*
const newInputValue = 'test street 123';
resume.profile.address.line1 = newInputValue;
const ref = firebaseMock.database().ref(`resumes/${resumeId}`);
const firebaseMockUpdateFunction = jest.spyOn(ref, 'update');
await ref.update({
...resume,
updatedAt: firebaseMock.database().ServerValue.TIMESTAMP,
});
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(newInputValue);
*/
const input = screen.getByLabelText(new RegExp('address line 1', 'i'));
const newInputValue = 'test street 123';
const spy = jest.spyOn(
firebaseMock.database().ref(`resumes/${resumeId}`),
'update',
);
const ref = firebaseMock.database().ref(`resumes/${resumeId}`);
const firebaseMockUpdateFunction = jest.spyOn(ref, 'update');
fireEvent.change(input, { target: { value: newInputValue } });
expect(input.value).toBe(newInputValue);
await waitFor(() => expect(spy).toHaveBeenCalledTimes(1), {
timeout: 4000,
});
//const promise = spy.mock.results[0].value;
//await spy();
//expect(spy).toHaveBeenCalledTimes(1);
resume = (
await firebaseMock.database().ref(`resumes/${resumeId}`).once('value')
).val();
expect(resume.profile.address.line1).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(
newInputValue,
);
});
});
});