Add test, JavascriptSDK 1.7.1 rest format not as expected

JavascriptSDK 1.7.1 use serverUrl/classes/_Role directly.
So move validation from RolesRouter to ClassesRouter.
This commit is contained in:
jim1_lin
2016-03-02 11:13:24 +08:00
parent 3889223b10
commit 4054c247ec
3 changed files with 19 additions and 8 deletions

View File

@@ -59,17 +59,17 @@ describe('Parse Role testing', () => {
});
});
it("should recursively load roles", (done) => {
var rolesNames = ["FooRole", "BarRole", "BazRole"];
var createRole = function(name, parent, user) {
var role = new Parse.Object("_Role")
role.set("name", name);
if (user) {
var users = role.relation('users');
users.add(user);
users.add(user);
}
if (parent) {
role.relation('roles').add(parent);
@@ -78,7 +78,7 @@ describe('Parse Role testing', () => {
}
var roleIds = {};
createTestUser().then( (user) => {
return createRole(rolesNames[0], null, null).then( (aRole) => {
roleIds[aRole.get("name")] = aRole.id;
return createRole(rolesNames[1], aRole, null);
@@ -102,5 +102,16 @@ describe('Parse Role testing', () => {
});
});
it("_Role object should not save without name.", (done) => {
var role = new Parse.Role();
role.save(null,{useMasterKey:true})
.then((r) => {
fail("_Role object should not save without name.");
}, (error) => {
expect(error.code).toEqual(135);
done();
});
});
});

View File

@@ -81,6 +81,9 @@ export class ClassesRouter extends PromiseRouter {
}
handleCreate(req) {
if(req.params.className === '_Role' && req.body && !req.body.name){
throw new Parse.Error(135, 'Role names must be specified.');
}
return rest.create(req.config, req.auth, req.params.className, req.body);
}

View File

@@ -16,9 +16,6 @@ export class RolesRouter extends ClassesRouter {
handleCreate(req) {
req.params.className = '_Role';
if(req.body && !req.body.name){
throw new Parse.Error(135, 'Role names must be specified.');
}
return super.handleCreate(req);
}