Skip to content

Commit 4054c24

Browse files
committed
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.
1 parent 3889223 commit 4054c24

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

spec/ParseRole.spec.js

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,17 @@ describe('Parse Role testing', () => {
5959
});
6060

6161
});
62-
62+
6363
it("should recursively load roles", (done) => {
64-
64+
6565
var rolesNames = ["FooRole", "BarRole", "BazRole"];
66-
66+
6767
var createRole = function(name, parent, user) {
6868
var role = new Parse.Object("_Role")
6969
role.set("name", name);
7070
if (user) {
7171
var users = role.relation('users');
72-
users.add(user);
72+
users.add(user);
7373
}
7474
if (parent) {
7575
role.relation('roles').add(parent);
@@ -78,7 +78,7 @@ describe('Parse Role testing', () => {
7878
}
7979
var roleIds = {};
8080
createTestUser().then( (user) => {
81-
81+
8282
return createRole(rolesNames[0], null, null).then( (aRole) => {
8383
roleIds[aRole.get("name")] = aRole.id;
8484
return createRole(rolesNames[1], aRole, null);
@@ -102,5 +102,16 @@ describe('Parse Role testing', () => {
102102
});
103103
});
104104

105+
it("_Role object should not save without name.", (done) => {
106+
var role = new Parse.Role();
107+
role.save(null,{useMasterKey:true})
108+
.then((r) => {
109+
fail("_Role object should not save without name.");
110+
}, (error) => {
111+
expect(error.code).toEqual(135);
112+
done();
113+
});
114+
});
115+
105116
});
106117

src/Routers/ClassesRouter.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ export class ClassesRouter extends PromiseRouter {
8181
}
8282

8383
handleCreate(req) {
84+
if(req.params.className === '_Role' && req.body && !req.body.name){
85+
throw new Parse.Error(135, 'Role names must be specified.');
86+
}
8487
return rest.create(req.config, req.auth, req.params.className, req.body);
8588
}
8689

src/Routers/RolesRouter.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ export class RolesRouter extends ClassesRouter {
1616

1717
handleCreate(req) {
1818
req.params.className = '_Role';
19-
if(req.body && !req.body.name){
20-
throw new Parse.Error(135, 'Role names must be specified.');
21-
}
2219
return super.handleCreate(req);
2320
}
2421

0 commit comments

Comments
 (0)