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

@@ -504,7 +504,7 @@ describe('SchemaController', () => {
schema
.addClassIfNotExists('_InvalidName', { foo: { type: 'String' } })
.catch(error => {
expect(error.error).toEqual(
expect(error.message).toEqual(
'Invalid classname: _InvalidName, classnames can only have alphanumeric characters and _, and must start with an alpha character '
);
done();
@@ -522,7 +522,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(Parse.Error.INVALID_KEY_NAME);
expect(error.error).toEqual('invalid field name: 0InvalidName');
expect(error.message).toEqual('invalid field name: 0InvalidName');
done();
});
});
@@ -535,7 +535,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(136);
expect(error.error).toEqual('field objectId cannot be added');
expect(error.message).toEqual('field objectId cannot be added');
done();
});
});
@@ -550,7 +550,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(136);
expect(error.error).toEqual('field localeIdentifier cannot be added');
expect(error.message).toEqual('field localeIdentifier cannot be added');
done();
});
});
@@ -565,7 +565,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(Parse.Error.INVALID_JSON);
expect(error.error).toEqual('invalid JSON');
expect(error.message).toEqual('invalid JSON');
done();
});
});
@@ -580,7 +580,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(135);
expect(error.error).toEqual('type Pointer needs a class name');
expect(error.message).toEqual('type Pointer needs a class name');
done();
});
});
@@ -595,7 +595,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(Parse.Error.INVALID_JSON);
expect(error.error).toEqual('invalid JSON');
expect(error.message).toEqual('invalid JSON');
done();
});
});
@@ -610,7 +610,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(135);
expect(error.error).toEqual('type Relation needs a class name');
expect(error.message).toEqual('type Relation needs a class name');
done();
});
});
@@ -625,7 +625,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(Parse.Error.INVALID_JSON);
expect(error.error).toEqual('invalid JSON');
expect(error.message).toEqual('invalid JSON');
done();
});
});
@@ -640,7 +640,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(Parse.Error.INVALID_CLASS_NAME);
expect(error.error).toEqual(
expect(error.message).toEqual(
'Invalid classname: not a valid class name, classnames can only have alphanumeric characters and _, and must start with an alpha character '
);
done();
@@ -657,7 +657,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(Parse.Error.INVALID_CLASS_NAME);
expect(error.error).toEqual(
expect(error.message).toEqual(
'Invalid classname: not a valid class name, classnames can only have alphanumeric characters and _, and must start with an alpha character '
);
done();
@@ -674,7 +674,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(Parse.Error.INCORRECT_TYPE);
expect(error.error).toEqual('invalid field type: Unknown');
expect(error.message).toEqual('invalid field type: Unknown');
done();
});
});
@@ -929,7 +929,7 @@ describe('SchemaController', () => {
)
.catch(error => {
expect(error.code).toEqual(Parse.Error.INCORRECT_TYPE);
expect(error.error).toEqual(
expect(error.message).toEqual(
'currently, only one GeoPoint field may exist in an object. Adding geo2 when geo1 already exists.'
);
done();