Required fields and default values (#5835)

* Add field options to mongo schema metadata

* Add/fix test with fields options

* Add required validation failing test

* Add more tests

* Only set default value if field is undefined

* Fix redis test

* Fix tests

* Test for creating a new class with field options

* Validate default value type

* fix lint (weird)

* Fix lint another way

* Add tests for beforeSave trigger and solve small issue regarding the use of unset in the beforeSave trigger
This commit is contained in:
Antonio Davi Macedo Coelho de Castro
2019-07-25 21:13:59 -07:00
committed by GitHub
parent d3810c2eba
commit fd637ff4f8
8 changed files with 606 additions and 40 deletions

View File

@@ -188,7 +188,7 @@ describe_only(() => {
const object = new TestObject();
object.set('foo', 'bar');
await object.save();
expect(getSpy.calls.count()).toBe(2);
expect(getSpy.calls.count()).toBe(3);
expect(putSpy.calls.count()).toBe(2);
});
@@ -201,7 +201,7 @@ describe_only(() => {
booleanField: true,
});
await container.save();
expect(getSpy.calls.count()).toBe(2);
expect(getSpy.calls.count()).toBe(3);
expect(putSpy.calls.count()).toBe(2);
});
@@ -215,7 +215,7 @@ describe_only(() => {
object.set('foo', 'barz');
await object.save();
expect(getSpy.calls.count()).toBe(2);
expect(getSpy.calls.count()).toBe(3);
expect(putSpy.calls.count()).toBe(0);
});
@@ -233,7 +233,7 @@ describe_only(() => {
objects.push(object);
}
await Parse.Object.saveAll(objects);
expect(getSpy.calls.count()).toBe(11);
expect(getSpy.calls.count()).toBe(21);
expect(putSpy.calls.count()).toBe(10);
getSpy.calls.reset();
@@ -258,7 +258,7 @@ describe_only(() => {
objects.push(object);
}
await Parse.Object.saveAll(objects, { batchSize: 5 });
expect(getSpy.calls.count()).toBe(12);
expect(getSpy.calls.count()).toBe(22);
expect(putSpy.calls.count()).toBe(5);
getSpy.calls.reset();
@@ -279,7 +279,7 @@ describe_only(() => {
object.set('new', 'barz');
await object.save();
expect(getSpy.calls.count()).toBe(2);
expect(getSpy.calls.count()).toBe(3);
expect(putSpy.calls.count()).toBe(1);
});
@@ -299,7 +299,7 @@ describe_only(() => {
booleanField: true,
});
await object.save();
expect(getSpy.calls.count()).toBe(2);
expect(getSpy.calls.count()).toBe(3);
expect(putSpy.calls.count()).toBe(1);
});
@@ -309,7 +309,7 @@ describe_only(() => {
user.setPassword('testing');
await user.signUp();
expect(getSpy.calls.count()).toBe(6);
expect(getSpy.calls.count()).toBe(8);
expect(putSpy.calls.count()).toBe(1);
});
@@ -326,7 +326,7 @@ describe_only(() => {
object.set('foo', 'bar');
await object.save();
expect(getSpy.calls.count()).toBe(3);
expect(getSpy.calls.count()).toBe(4);
expect(putSpy.calls.count()).toBe(1);
getSpy.calls.reset();