fix: Promise is not being returned in classUpdate method (#5877)

* fix: Set falsy values as default to schema fields

* fix: Promise is not being returned in classUpdate method
This commit is contained in:
Lucas Alencar
2019-08-01 10:52:36 -03:00
committed by Diamond Lewis
parent f3b84242d7
commit 78c42d97fd
2 changed files with 37 additions and 1 deletions

View File

@@ -426,6 +426,42 @@ describe('SchemaController', () => {
});
});
it('can update class level permission', done => {
const newLevelPermissions = {
find: {},
get: { '*': true },
count: {},
create: { '*': true },
update: {},
delete: { '*': true },
addField: {},
protectedFields: { '*': [] },
};
config.database.loadSchema().then(schema => {
schema
.validateObject('NewClass', { foo: 2 })
.then(() => schema.reloadData())
.then(() =>
schema.updateClass(
'NewClass',
{},
newLevelPermissions,
{},
config.database
)
)
.then(actualSchema => {
expect(dd(actualSchema.classLevelPermissions, newLevelPermissions)).toEqual(undefined);
done();
})
.catch(error => {
console.trace(error);
done();
fail('Error creating class: ' + JSON.stringify(error));
});
});
});
it('will fail to create a class if that class was already created by an object', done => {
config.database.loadSchema().then(schema => {
schema

View File

@@ -768,7 +768,7 @@ export default class SchemaController {
})
.then(results => {
enforceFields = results.filter(result => !!result);
this.setPermissions(className, classLevelPermissions, newSchema);
return this.setPermissions(className, classLevelPermissions, newSchema);
})
.then(() =>
this._dbAdapter.setIndexesWithSchemaFormat(