Make sure we don't treat dot notation keys as topLevel atoms (#3531)
Fixing GeoPoints and Files in _GlobalConfig
This commit is contained in:
committed by
Natan Rolnik
parent
6ae0675010
commit
193e5a4278
@@ -56,6 +56,49 @@ describe('a GlobalConfig', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('can add and retrive files', (done) => {
|
||||||
|
request.put({
|
||||||
|
url : 'http://localhost:8378/1/config',
|
||||||
|
json : true,
|
||||||
|
body : { params: { file: { __type: 'File', name: 'name', url: 'http://url' } } },
|
||||||
|
headers: {
|
||||||
|
'X-Parse-Application-Id': 'test',
|
||||||
|
'X-Parse-Master-Key' : 'test'
|
||||||
|
}
|
||||||
|
}, (error, response, body) => {
|
||||||
|
expect(response.statusCode).toEqual(200);
|
||||||
|
expect(body.result).toEqual(true);
|
||||||
|
Parse.Config.get().then((res) => {
|
||||||
|
const file = res.get('file');
|
||||||
|
expect(file.name()).toBe('name');
|
||||||
|
expect(file.url()).toBe('http://url');
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('can add and retrive Geopoints', (done) => {
|
||||||
|
const geopoint = new Parse.GeoPoint(10,-20);
|
||||||
|
request.put({
|
||||||
|
url : 'http://localhost:8378/1/config',
|
||||||
|
json : true,
|
||||||
|
body : { params: { point: geopoint.toJSON() } },
|
||||||
|
headers: {
|
||||||
|
'X-Parse-Application-Id': 'test',
|
||||||
|
'X-Parse-Master-Key' : 'test'
|
||||||
|
}
|
||||||
|
}, (error, response, body) => {
|
||||||
|
expect(response.statusCode).toEqual(200);
|
||||||
|
expect(body.result).toEqual(true);
|
||||||
|
Parse.Config.get().then((res) => {
|
||||||
|
const point = res.get('point');
|
||||||
|
expect(point.latitude).toBe(10);
|
||||||
|
expect(point.longitude).toBe(-20);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('properly handles delete op', (done) => {
|
it('properly handles delete op', (done) => {
|
||||||
request.put({
|
request.put({
|
||||||
url : 'http://localhost:8378/1/config',
|
url : 'http://localhost:8378/1/config',
|
||||||
|
|||||||
@@ -89,6 +89,9 @@ const transformKeyValueForUpdate = (className, restKey, restValue, parseFormatSc
|
|||||||
if (timeField && (typeof value === 'string')) {
|
if (timeField && (typeof value === 'string')) {
|
||||||
value = new Date(value);
|
value = new Date(value);
|
||||||
}
|
}
|
||||||
|
if (restKey.indexOf('.') > 0) {
|
||||||
|
return {key, value: restValue}
|
||||||
|
}
|
||||||
return {key, value};
|
return {key, value};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,7 +101,7 @@ const transformKeyValueForUpdate = (className, restKey, restValue, parseFormatSc
|
|||||||
return {key, value};
|
return {key, value};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle update operators
|
// Handle update operators
|
||||||
if (typeof restValue === 'object' && '__op' in restValue) {
|
if (typeof restValue === 'object' && '__op' in restValue) {
|
||||||
return {key, value: transformUpdateOperator(restValue, false)};
|
return {key, value: transformUpdateOperator(restValue, false)};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user