Merge branch 'master' into test_for_calling_nonexisting_cf
This commit is contained in:
@@ -153,12 +153,26 @@ describe('miscellaneous', function() {
|
||||
});
|
||||
|
||||
it('basic beforeSave rejection', function(done) {
|
||||
var obj = new Parse.Object('BeforeSaveFailure');
|
||||
var obj = new Parse.Object('BeforeSaveFail');
|
||||
obj.set('foo', 'bar');
|
||||
obj.save().then(() => {
|
||||
fail('Should not have been able to save BeforeSaveFailure class.');
|
||||
done();
|
||||
}, () => {
|
||||
done();
|
||||
})
|
||||
});
|
||||
|
||||
it('basic beforeSave rejection via promise', function(done) {
|
||||
var obj = new Parse.Object('BeforeSaveFailWithPromise');
|
||||
obj.set('foo', 'bar');
|
||||
obj.save().then(function() {
|
||||
fail('Should not have been able to save BeforeSaveFailure class.');
|
||||
done();
|
||||
}, function(error) {
|
||||
expect(error.code).toEqual(Parse.Error.SCRIPT_FAILED);
|
||||
expect(error.message).toEqual('Nope');
|
||||
|
||||
done();
|
||||
})
|
||||
});
|
||||
@@ -250,6 +264,20 @@ describe('miscellaneous', function() {
|
||||
// We should have been able to fetch the object again
|
||||
fail(error);
|
||||
});
|
||||
})
|
||||
|
||||
it('basic beforeDelete rejection via promise', function(done) {
|
||||
var obj = new Parse.Object('BeforeDeleteFailWithPromise');
|
||||
obj.set('foo', 'bar');
|
||||
obj.save().then(function() {
|
||||
fail('Should not have been able to save BeforeSaveFailure class.');
|
||||
done();
|
||||
}, function(error) {
|
||||
expect(error.code).toEqual(Parse.Error.SCRIPT_FAILED);
|
||||
expect(error.message).toEqual('Nope');
|
||||
|
||||
done();
|
||||
})
|
||||
});
|
||||
|
||||
it('test beforeDelete success', function(done) {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// Tests that involve sending password reset emails.
|
||||
|
||||
var request = require('request');
|
||||
var crypto = require('../crypto');
|
||||
var passwordCrypto = require('../password');
|
||||
|
||||
describe('Parse.User testing', () => {
|
||||
it("user sign up class method", (done) => {
|
||||
@@ -78,7 +78,8 @@ describe('Parse.User testing', () => {
|
||||
sessionToken = newUser.getSessionToken();
|
||||
ok(sessionToken);
|
||||
|
||||
Parse.User.logOut();
|
||||
return Parse.User.logOut();
|
||||
}).then(() => {
|
||||
ok(!Parse.User.current());
|
||||
|
||||
return Parse.User.become(sessionToken);
|
||||
@@ -91,7 +92,8 @@ describe('Parse.User testing', () => {
|
||||
equal(newUser.get("username"), "Jason");
|
||||
equal(newUser.get("code"), "red");
|
||||
|
||||
Parse.User.logOut();
|
||||
return Parse.User.logOut();
|
||||
}).then(() => {
|
||||
ok(!Parse.User.current());
|
||||
|
||||
return Parse.User.become("somegarbage");
|
||||
@@ -236,22 +238,20 @@ describe('Parse.User testing', () => {
|
||||
user.set("password", "asdf");
|
||||
user.set("email", "asdf@example.com");
|
||||
user.set("username", "zxcv");
|
||||
user.signUp(null, {
|
||||
success: function() {
|
||||
var currentUser = Parse.User.current();
|
||||
equal(user.id, currentUser.id);
|
||||
ok(user.getSessionToken());
|
||||
user.signUp().then(() => {
|
||||
var currentUser = Parse.User.current();
|
||||
equal(user.id, currentUser.id);
|
||||
ok(user.getSessionToken());
|
||||
|
||||
var currentUserAgain = Parse.User.current();
|
||||
// should be the same object
|
||||
equal(currentUser, currentUserAgain);
|
||||
var currentUserAgain = Parse.User.current();
|
||||
// should be the same object
|
||||
equal(currentUser, currentUserAgain);
|
||||
|
||||
// test logging out the current user
|
||||
Parse.User.logOut();
|
||||
|
||||
equal(Parse.User.current(), null);
|
||||
done();
|
||||
}
|
||||
// test logging out the current user
|
||||
return Parse.User.logOut();
|
||||
}).then(() => {
|
||||
equal(Parse.User.current(), null);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -268,50 +268,39 @@ describe('Parse.User testing', () => {
|
||||
user2.set("password", "password");
|
||||
user3.set("password", "password");
|
||||
|
||||
user1.signUp(null, {
|
||||
success: function () {
|
||||
equal(user1.isCurrent(), true);
|
||||
equal(user2.isCurrent(), false);
|
||||
equal(user3.isCurrent(), false);
|
||||
user2.signUp(null, {
|
||||
success: function() {
|
||||
equal(user1.isCurrent(), false);
|
||||
equal(user2.isCurrent(), true);
|
||||
equal(user3.isCurrent(), false);
|
||||
user3.signUp(null, {
|
||||
success: function() {
|
||||
equal(user1.isCurrent(), false);
|
||||
equal(user2.isCurrent(), false);
|
||||
equal(user3.isCurrent(), true);
|
||||
Parse.User.logIn("a", "password", {
|
||||
success: function(user1) {
|
||||
equal(user1.isCurrent(), true);
|
||||
equal(user2.isCurrent(), false);
|
||||
equal(user3.isCurrent(), false);
|
||||
Parse.User.logIn("b", "password", {
|
||||
success: function(user2) {
|
||||
equal(user1.isCurrent(), false);
|
||||
equal(user2.isCurrent(), true);
|
||||
equal(user3.isCurrent(), false);
|
||||
Parse.User.logIn("b", "password", {
|
||||
success: function(user3) {
|
||||
equal(user1.isCurrent(), false);
|
||||
equal(user2.isCurrent(), true);
|
||||
equal(user3.isCurrent(), true);
|
||||
Parse.User.logOut();
|
||||
equal(user3.isCurrent(), false);
|
||||
done();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
user1.signUp().then(() => {
|
||||
equal(user1.isCurrent(), true);
|
||||
equal(user2.isCurrent(), false);
|
||||
equal(user3.isCurrent(), false);
|
||||
return user2.signUp();
|
||||
}).then(() => {
|
||||
equal(user1.isCurrent(), false);
|
||||
equal(user2.isCurrent(), true);
|
||||
equal(user3.isCurrent(), false);
|
||||
return user3.signUp();
|
||||
}).then(() => {
|
||||
equal(user1.isCurrent(), false);
|
||||
equal(user2.isCurrent(), false);
|
||||
equal(user3.isCurrent(), true);
|
||||
return Parse.User.logIn("a", "password");
|
||||
}).then(() => {
|
||||
equal(user1.isCurrent(), true);
|
||||
equal(user2.isCurrent(), false);
|
||||
equal(user3.isCurrent(), false);
|
||||
return Parse.User.logIn("b", "password");
|
||||
}).then(() => {
|
||||
equal(user1.isCurrent(), false);
|
||||
equal(user2.isCurrent(), true);
|
||||
equal(user3.isCurrent(), false);
|
||||
return Parse.User.logIn("b", "password");
|
||||
}).then(() => {
|
||||
equal(user1.isCurrent(), false);
|
||||
equal(user2.isCurrent(), true);
|
||||
equal(user3.isCurrent(), false);
|
||||
return Parse.User.logOut();
|
||||
}).then(() => {
|
||||
equal(user2.isCurrent(), false);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -589,28 +578,24 @@ describe('Parse.User testing', () => {
|
||||
|
||||
|
||||
it("user loaded from localStorage from login", (done) => {
|
||||
var id;
|
||||
Parse.User.signUp("alice", "password").then((alice) => {
|
||||
id = alice.id;
|
||||
return Parse.User.logOut();
|
||||
}).then(() => {
|
||||
return Parse.User.logIn("alice", "password");
|
||||
}).then((user) => {
|
||||
// Force the current user to read from disk
|
||||
delete Parse.User._currentUser;
|
||||
delete Parse.User._currentUserMatchesDisk;
|
||||
|
||||
Parse.User.signUp("alice", "password", null, {
|
||||
success: function(alice) {
|
||||
var id = alice.id;
|
||||
Parse.User.logOut();
|
||||
|
||||
Parse.User.logIn("alice", "password", {
|
||||
success: function(user) {
|
||||
// Force the current user to read from disk
|
||||
delete Parse.User._currentUser;
|
||||
delete Parse.User._currentUserMatchesDisk;
|
||||
|
||||
var userFromDisk = Parse.User.current();
|
||||
equal(userFromDisk.get("password"), undefined,
|
||||
"password should not be in attributes");
|
||||
equal(userFromDisk.id, id, "id should be set");
|
||||
ok(userFromDisk.getSessionToken(),
|
||||
"currentUser should have a sessionToken");
|
||||
done();
|
||||
}
|
||||
});
|
||||
}
|
||||
var userFromDisk = Parse.User.current();
|
||||
equal(userFromDisk.get("password"), undefined,
|
||||
"password should not be in attributes");
|
||||
equal(userFromDisk.id, id, "id should be set");
|
||||
ok(userFromDisk.getSessionToken(),
|
||||
"currentUser should have a sessionToken");
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -620,8 +605,8 @@ describe('Parse.User testing', () => {
|
||||
|
||||
Parse.User.signUp("alice", "password", null).then(function(alice) {
|
||||
id = alice.id;
|
||||
Parse.User.logOut();
|
||||
|
||||
return Parse.User.logOut();
|
||||
}).then(() => {
|
||||
return Parse.User.logIn("alice", "password");
|
||||
}).then(function() {
|
||||
// Simulate browser refresh by force-reloading user from localStorage
|
||||
@@ -1306,13 +1291,13 @@ describe('Parse.User testing', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("querying for users doesn't get session tokens", (done) => {
|
||||
notWorking("querying for users doesn't get session tokens", (done) => {
|
||||
Parse.Promise.as().then(function() {
|
||||
return Parse.User.signUp("finn", "human", { foo: "bar" });
|
||||
|
||||
}).then(function() {
|
||||
Parse.User.logOut();
|
||||
|
||||
return Parse.User.logOut();
|
||||
}).then(() => {
|
||||
var user = new Parse.User();
|
||||
user.set("username", "jake");
|
||||
user.set("password", "dog");
|
||||
@@ -1320,8 +1305,8 @@ describe('Parse.User testing', () => {
|
||||
return user.signUp();
|
||||
|
||||
}).then(function() {
|
||||
Parse.User.logOut();
|
||||
|
||||
return Parse.User.logOut();
|
||||
}).then(() => {
|
||||
var query = new Parse.Query(Parse.User);
|
||||
return query.find();
|
||||
|
||||
@@ -1351,7 +1336,7 @@ describe('Parse.User testing', () => {
|
||||
var b = JSON.parse(body);
|
||||
expect(b.results.length).toEqual(1);
|
||||
var user = b.results[0];
|
||||
expect(Object.keys(user).length).toEqual(5);
|
||||
expect(Object.keys(user).length).toEqual(6);
|
||||
done();
|
||||
});
|
||||
});
|
||||
@@ -1560,7 +1545,7 @@ describe('Parse.User testing', () => {
|
||||
|
||||
it('password format matches hosted parse', (done) => {
|
||||
var hashed = '$2a$10$8/wZJyEuiEaobBBqzTG.jeY.XSFJd0rzaN//ososvEI4yLqI.4aie';
|
||||
crypto.compare('test', hashed)
|
||||
passwordCrypto.compare('test', hashed)
|
||||
.then((pass) => {
|
||||
expect(pass).toBe(true);
|
||||
done();
|
||||
@@ -1574,7 +1559,7 @@ describe('Parse.User testing', () => {
|
||||
var sessionToken = null;
|
||||
|
||||
Parse.Promise.as().then(function() {
|
||||
return Parse.User.signUp("fosco", "parse");
|
||||
return Parse.User.signUp("fosco", "parse");
|
||||
}).then(function(newUser) {
|
||||
equal(Parse.User.current(), newUser);
|
||||
sessionToken = newUser.getSessionToken();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Sets up a Parse API server for testing.
|
||||
|
||||
jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000;
|
||||
jasmine.DEFAULT_TIMEOUT_INTERVAL = 2000;
|
||||
|
||||
var cache = require('../cache');
|
||||
var DatabaseAdapter = require('../DatabaseAdapter');
|
||||
@@ -46,8 +46,7 @@ beforeEach(function(done) {
|
||||
});
|
||||
|
||||
afterEach(function(done) {
|
||||
Parse.User.logOut();
|
||||
Parse.Promise.as().then(() => {
|
||||
Parse.User.logOut().then(() => {
|
||||
return clearData();
|
||||
}).then(() => {
|
||||
done();
|
||||
@@ -153,7 +152,7 @@ function normalize(obj) {
|
||||
return '[' + obj.map(normalize).join(', ') + ']';
|
||||
}
|
||||
var answer = '{';
|
||||
for (key of Object.keys(obj).sort()) {
|
||||
for (var key of Object.keys(obj).sort()) {
|
||||
answer += key + ': ';
|
||||
answer += normalize(obj[key]);
|
||||
answer += ', ';
|
||||
@@ -192,7 +191,7 @@ function mockFacebook() {
|
||||
|
||||
function clearData() {
|
||||
var promises = [];
|
||||
for (conn in DatabaseAdapter.dbConnections) {
|
||||
for (var conn in DatabaseAdapter.dbConnections) {
|
||||
promises.push(DatabaseAdapter.dbConnections[conn].deleteEverything());
|
||||
}
|
||||
return Promise.all(promises);
|
||||
|
||||
110
spec/schemas.spec.js
Normal file
110
spec/schemas.spec.js
Normal file
@@ -0,0 +1,110 @@
|
||||
var request = require('request');
|
||||
var dd = require('deep-diff');
|
||||
|
||||
describe('schemas', () => {
|
||||
it('requires the master key to get all schemas', (done) => {
|
||||
request.get({
|
||||
url: 'http://localhost:8378/1/schemas',
|
||||
json: true,
|
||||
headers: {
|
||||
'X-Parse-Application-Id': 'test',
|
||||
'X-Parse-REST-API-Key': 'rest',
|
||||
},
|
||||
}, (error, response, body) => {
|
||||
expect(response.statusCode).toEqual(401);
|
||||
expect(body.error).toEqual('unauthorized');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('responds with empty list when there are no schemas', done => {
|
||||
request.get({
|
||||
url: 'http://localhost:8378/1/schemas',
|
||||
json: true,
|
||||
headers: {
|
||||
'X-Parse-Application-Id': 'test',
|
||||
'X-Parse-Master-Key': 'test',
|
||||
},
|
||||
}, (error, response, body) => {
|
||||
expect(body.results).toEqual([]);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('responds with a list of schemas after creating objects', done => {
|
||||
var obj1 = new Parse.Object('HasAllPOD');
|
||||
obj1.set('aNumber', 5);
|
||||
obj1.set('aString', 'string');
|
||||
obj1.set('aBool', true);
|
||||
obj1.set('aDate', new Date());
|
||||
obj1.set('aObject', {k1: 'value', k2: true, k3: 5});
|
||||
obj1.set('aArray', ['contents', true, 5]);
|
||||
obj1.set('aGeoPoint', new Parse.GeoPoint({latitude: 0, longitude: 0}));
|
||||
obj1.set('aFile', new Parse.File('f.txt', { base64: 'V29ya2luZyBhdCBQYXJzZSBpcyBncmVhdCE=' }));
|
||||
var obj1ACL = new Parse.ACL();
|
||||
obj1ACL.setPublicWriteAccess(false);
|
||||
obj1.setACL(obj1ACL);
|
||||
|
||||
obj1.save().then(savedObj1 => {
|
||||
var obj2 = new Parse.Object('HasPointersAndRelations');
|
||||
obj2.set('aPointer', savedObj1);
|
||||
var relation = obj2.relation('aRelation');
|
||||
relation.add(obj1);
|
||||
return obj2.save();
|
||||
}).then(() => {
|
||||
request.get({
|
||||
url: 'http://localhost:8378/1/schemas',
|
||||
json: true,
|
||||
headers: {
|
||||
'X-Parse-Application-Id': 'test',
|
||||
'X-Parse-Master-Key': 'test',
|
||||
},
|
||||
}, (error, response, body) => {
|
||||
var expected = {
|
||||
results: [
|
||||
{
|
||||
className: 'HasAllPOD',
|
||||
fields: {
|
||||
//Default fields
|
||||
ACL: {type: 'ACL'},
|
||||
createdAt: {type: 'Date'},
|
||||
updatedAt: {type: 'Date'},
|
||||
objectId: {type: 'String'},
|
||||
//Custom fields
|
||||
aNumber: {type: 'Number'},
|
||||
aString: {type: 'String'},
|
||||
aBool: {type: 'Boolean'},
|
||||
aDate: {type: 'Date'},
|
||||
aObject: {type: 'Object'},
|
||||
aArray: {type: 'Array'},
|
||||
aGeoPoint: {type: 'GeoPoint'},
|
||||
aFile: {type: 'File'}
|
||||
},
|
||||
},
|
||||
{
|
||||
className: 'HasPointersAndRelations',
|
||||
fields: {
|
||||
//Default fields
|
||||
ACL: {type: 'ACL'},
|
||||
createdAt: {type: 'Date'},
|
||||
updatedAt: {type: 'Date'},
|
||||
objectId: {type: 'String'},
|
||||
//Custom fields
|
||||
aPointer: {
|
||||
type: 'Pointer',
|
||||
targetClass: 'HasAllPOD',
|
||||
},
|
||||
aRelation: {
|
||||
type: 'Relation',
|
||||
targetClass: 'HasAllPOD',
|
||||
},
|
||||
},
|
||||
}
|
||||
]
|
||||
};
|
||||
expect(body).toEqual(expected);
|
||||
done();
|
||||
})
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -2,16 +2,18 @@
|
||||
|
||||
var transform = require('../transform');
|
||||
|
||||
var dummyConfig = {
|
||||
schema: {
|
||||
var dummySchema = {
|
||||
data: {},
|
||||
getExpectedType: function(className, key) {
|
||||
if (key == 'userPointer') {
|
||||
return '*_User';
|
||||
} else if (key == 'picture') {
|
||||
return 'file';
|
||||
} else if (key == 'location') {
|
||||
return 'geopoint';
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -19,7 +21,7 @@ describe('transformCreate', () => {
|
||||
|
||||
it('a basic number', (done) => {
|
||||
var input = {five: 5};
|
||||
var output = transform.transformCreate(dummyConfig, null, input);
|
||||
var output = transform.transformCreate(dummySchema, null, input);
|
||||
jequal(input, output);
|
||||
done();
|
||||
});
|
||||
@@ -29,7 +31,7 @@ describe('transformCreate', () => {
|
||||
createdAt: "2015-10-06T21:24:50.332Z",
|
||||
updatedAt: "2015-10-06T21:24:50.332Z"
|
||||
};
|
||||
var output = transform.transformCreate(dummyConfig, null, input);
|
||||
var output = transform.transformCreate(dummySchema, null, input);
|
||||
expect(output._created_at instanceof Date).toBe(true);
|
||||
expect(output._updated_at instanceof Date).toBe(true);
|
||||
done();
|
||||
@@ -41,21 +43,21 @@ describe('transformCreate', () => {
|
||||
objectId: 'myId',
|
||||
className: 'Blah',
|
||||
};
|
||||
var out = transform.transformCreate(dummyConfig, null, {pointers: [pointer]});
|
||||
var out = transform.transformCreate(dummySchema, null, {pointers: [pointer]});
|
||||
jequal([pointer], out.pointers);
|
||||
done();
|
||||
});
|
||||
|
||||
it('a delete op', (done) => {
|
||||
var input = {deleteMe: {__op: 'Delete'}};
|
||||
var output = transform.transformCreate(dummyConfig, null, input);
|
||||
var output = transform.transformCreate(dummySchema, null, input);
|
||||
jequal(output, {});
|
||||
done();
|
||||
});
|
||||
|
||||
it('basic ACL', (done) => {
|
||||
var input = {ACL: {'0123': {'read': true, 'write': true}}};
|
||||
var output = transform.transformCreate(dummyConfig, null, input);
|
||||
var output = transform.transformCreate(dummySchema, null, input);
|
||||
// This just checks that it doesn't crash, but it should check format.
|
||||
done();
|
||||
});
|
||||
@@ -63,7 +65,7 @@ describe('transformCreate', () => {
|
||||
|
||||
describe('transformWhere', () => {
|
||||
it('objectId', (done) => {
|
||||
var out = transform.transformWhere(dummyConfig, null, {objectId: 'foo'});
|
||||
var out = transform.transformWhere(dummySchema, null, {objectId: 'foo'});
|
||||
expect(out._id).toEqual('foo');
|
||||
done();
|
||||
});
|
||||
@@ -72,7 +74,7 @@ describe('transformWhere', () => {
|
||||
var input = {
|
||||
objectId: {'$in': ['one', 'two', 'three']},
|
||||
};
|
||||
var output = transform.transformWhere(dummyConfig, null, input);
|
||||
var output = transform.transformWhere(dummySchema, null, input);
|
||||
jequal(input.objectId, output._id);
|
||||
done();
|
||||
});
|
||||
@@ -81,17 +83,53 @@ describe('transformWhere', () => {
|
||||
describe('untransformObject', () => {
|
||||
it('built-in timestamps', (done) => {
|
||||
var input = {createdAt: new Date(), updatedAt: new Date()};
|
||||
var output = transform.untransformObject(dummyConfig, null, input);
|
||||
var output = transform.untransformObject(dummySchema, null, input);
|
||||
expect(typeof output.createdAt).toEqual('string');
|
||||
expect(typeof output.updatedAt).toEqual('string');
|
||||
done();
|
||||
});
|
||||
|
||||
it('pointer', (done) => {
|
||||
var input = {_p_userPointer: '_User$123'};
|
||||
var output = transform.untransformObject(dummySchema, null, input);
|
||||
expect(typeof output.userPointer).toEqual('object');
|
||||
expect(output.userPointer).toEqual(
|
||||
{__type: 'Pointer', className: '_User', objectId: '123'}
|
||||
);
|
||||
done();
|
||||
});
|
||||
|
||||
it('null pointer', (done) => {
|
||||
var input = {_p_userPointer: null};
|
||||
var output = transform.untransformObject(dummySchema, null, input);
|
||||
expect(output.userPointer).toBeUndefined();
|
||||
done();
|
||||
});
|
||||
|
||||
it('file', (done) => {
|
||||
var input = {picture: 'pic.jpg'};
|
||||
var output = transform.untransformObject(dummySchema, null, input);
|
||||
expect(typeof output.picture).toEqual('object');
|
||||
expect(output.picture).toEqual({__type: 'File', name: 'pic.jpg'});
|
||||
done();
|
||||
});
|
||||
|
||||
it('geopoint', (done) => {
|
||||
var input = {location: [180, -180]};
|
||||
var output = transform.untransformObject(dummySchema, null, input);
|
||||
expect(typeof output.location).toEqual('object');
|
||||
expect(output.location).toEqual(
|
||||
{__type: 'GeoPoint', longitude: 180, latitude: -180}
|
||||
);
|
||||
done();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('transformKey', () => {
|
||||
it('throws out _password', (done) => {
|
||||
try {
|
||||
transform.transformKey(dummyConfig, '_User', '_password');
|
||||
transform.transformKey(dummySchema, '_User', '_password');
|
||||
fail('should have thrown');
|
||||
} catch (e) {
|
||||
done();
|
||||
@@ -105,7 +143,7 @@ describe('transform schema key changes', () => {
|
||||
var input = {
|
||||
somePointer: {__type: 'Pointer', className: 'Micro', objectId: 'oft'}
|
||||
};
|
||||
var output = transform.transformCreate(dummyConfig, null, input);
|
||||
var output = transform.transformCreate(dummySchema, null, input);
|
||||
expect(typeof output._p_somePointer).toEqual('string');
|
||||
expect(output._p_somePointer).toEqual('Micro$oft');
|
||||
done();
|
||||
@@ -115,7 +153,7 @@ describe('transform schema key changes', () => {
|
||||
var input = {
|
||||
userPointer: {__type: 'Pointer', className: '_User', objectId: 'qwerty'}
|
||||
};
|
||||
var output = transform.transformCreate(dummyConfig, null, input);
|
||||
var output = transform.transformCreate(dummySchema, null, input);
|
||||
expect(typeof output._p_userPointer).toEqual('string');
|
||||
expect(output._p_userPointer).toEqual('_User$qwerty');
|
||||
done();
|
||||
@@ -128,7 +166,7 @@ describe('transform schema key changes', () => {
|
||||
"Kevin": { "write": true }
|
||||
}
|
||||
};
|
||||
var output = transform.transformCreate(dummyConfig, null, input);
|
||||
var output = transform.transformCreate(dummySchema, null, input);
|
||||
expect(typeof output._rperm).toEqual('object');
|
||||
expect(typeof output._wperm).toEqual('object');
|
||||
expect(output.ACL).toBeUndefined();
|
||||
@@ -142,7 +180,7 @@ describe('transform schema key changes', () => {
|
||||
_rperm: ["*"],
|
||||
_wperm: ["Kevin"]
|
||||
};
|
||||
var output = transform.untransformObject(dummyConfig, null, input);
|
||||
var output = transform.untransformObject(dummySchema, null, input);
|
||||
expect(typeof output.ACL).toEqual('object');
|
||||
expect(output._rperm).toBeUndefined();
|
||||
expect(output._wperm).toBeUndefined();
|
||||
|
||||
Reference in New Issue
Block a user