Testing improvements (#4863)
* Adds supports-color so spec reporter dont output colors when not supported * Adds babelrc so breakpoints dont jump around in specs * Rename test to avoid duplicated name * Removes unused methods * Better naming for it_exclude
This commit is contained in:
4512
package-lock.json
generated
4512
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "parse-server",
|
"name": "parse-server",
|
||||||
"version": "2.8.3",
|
"version": "2.8.2",
|
||||||
"description": "An express module providing a Parse-compatible API server",
|
"description": "An express module providing a Parse-compatible API server",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
@@ -62,8 +62,9 @@
|
|||||||
"jasmine-spec-reporter": "^4.1.0",
|
"jasmine-spec-reporter": "^4.1.0",
|
||||||
"mongodb-runner": "3.6.1",
|
"mongodb-runner": "3.6.1",
|
||||||
"nodemon": "1.17.5",
|
"nodemon": "1.17.5",
|
||||||
"nyc": "^11.0.2",
|
"nyc": "^12.0.2",
|
||||||
"request-promise": "4.2.2"
|
"request-promise": "4.2.2",
|
||||||
|
"supports-color": "^5.4.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "npm run build && node bin/dev",
|
"dev": "npm run build && node bin/dev",
|
||||||
|
|||||||
14
spec/.babelrc
Normal file
14
spec/.babelrc
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"plugins": [
|
||||||
|
"transform-object-rest-spread"
|
||||||
|
],
|
||||||
|
"presets": [
|
||||||
|
["env", {
|
||||||
|
"targets": {
|
||||||
|
"node": "8"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
],
|
||||||
|
"sourceMaps": "inline",
|
||||||
|
"retainLines": true
|
||||||
|
}
|
||||||
@@ -70,7 +70,7 @@ describe("AdaptableController", ()=>{
|
|||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should accept an object adapter", (done) => {
|
it("should accept an prototype based object adapter", (done) => {
|
||||||
function AGoodAdapter() {}
|
function AGoodAdapter() {}
|
||||||
AGoodAdapter.prototype.createFile = function() { };
|
AGoodAdapter.prototype.createFile = function() { };
|
||||||
AGoodAdapter.prototype.deleteFile = function() { };
|
AGoodAdapter.prototype.deleteFile = function() { };
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
"use strict"
|
"use strict"
|
||||||
// Sets up a Parse API server for testing.
|
// Sets up a Parse API server for testing.
|
||||||
const SpecReporter = require('jasmine-spec-reporter').SpecReporter;
|
const SpecReporter = require('jasmine-spec-reporter').SpecReporter;
|
||||||
|
const supportsColor = require('supports-color');
|
||||||
jasmine.DEFAULT_TIMEOUT_INTERVAL = process.env.PARSE_SERVER_TEST_TIMEOUT || 5000;
|
jasmine.DEFAULT_TIMEOUT_INTERVAL = process.env.PARSE_SERVER_TEST_TIMEOUT || 5000;
|
||||||
|
|
||||||
jasmine.getEnv().clearReporters();
|
jasmine.getEnv().clearReporters();
|
||||||
jasmine.getEnv().addReporter(new SpecReporter());
|
jasmine.getEnv().addReporter(new SpecReporter({ colors: { enabled: supportsColor.stdout }}));
|
||||||
|
|
||||||
global.on_db = (db, callback, elseCallback) => {
|
global.on_db = (db, callback, elseCallback) => {
|
||||||
if (process.env.PARSE_SERVER_TEST_DB == db) {
|
if (process.env.PARSE_SERVER_TEST_DB == db) {
|
||||||
@@ -412,11 +412,11 @@ global.jfail = function(err) {
|
|||||||
global.it_exclude_dbs = excluded => {
|
global.it_exclude_dbs = excluded => {
|
||||||
if (excluded.indexOf(process.env.PARSE_SERVER_TEST_DB) >= 0) {
|
if (excluded.indexOf(process.env.PARSE_SERVER_TEST_DB) >= 0) {
|
||||||
return (name, suite) => {
|
return (name, suite) => {
|
||||||
return xit(`[${excluded}] ${name}`, suite);
|
return xit(`[not on ${excluded.join(',')}] ${name}`, suite);
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
return (name, suite) => {
|
return (name, suite) => {
|
||||||
return it(`[${excluded}] ${name}`, suite);
|
return it(`[not on ${excluded.join(',')}] ${name}`, suite);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,22 +31,6 @@ const MongoClient = mongodb.MongoClient;
|
|||||||
const ReadPreference = mongodb.ReadPreference;
|
const ReadPreference = mongodb.ReadPreference;
|
||||||
|
|
||||||
const MongoSchemaCollectionName = '_SCHEMA';
|
const MongoSchemaCollectionName = '_SCHEMA';
|
||||||
|
|
||||||
const storageAdapterAllCollections = mongoAdapter => {
|
|
||||||
return mongoAdapter.connect()
|
|
||||||
.then(() => mongoAdapter.database.collections())
|
|
||||||
.then(collections => {
|
|
||||||
return collections.filter(collection => {
|
|
||||||
if (collection.namespace.match(/\.system\./)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// TODO: If you have one app with a collection prefix that happens to be a prefix of another
|
|
||||||
// apps prefix, this will go very very badly. We should fix that somehow.
|
|
||||||
return (collection.collectionName.indexOf(mongoAdapter._collectionPrefix) == 0);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const convertParseSchemaToMongoSchema = ({...schema}) => {
|
const convertParseSchemaToMongoSchema = ({...schema}) => {
|
||||||
delete schema.fields._rperm;
|
delete schema.fields._rperm;
|
||||||
delete schema.fields._wperm;
|
delete schema.fields._wperm;
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ export interface StorageAdapter {
|
|||||||
createClass(className: string, schema: SchemaType): Promise<void>;
|
createClass(className: string, schema: SchemaType): Promise<void>;
|
||||||
addFieldIfNotExists(className: string, fieldName: string, type: any): Promise<void>;
|
addFieldIfNotExists(className: string, fieldName: string, type: any): Promise<void>;
|
||||||
deleteClass(className: string): Promise<void>;
|
deleteClass(className: string): Promise<void>;
|
||||||
deleteAllClasses(): Promise<void>;
|
|
||||||
dropDatabase(): Promise<void>;
|
dropDatabase(): Promise<void>;
|
||||||
deleteFields(className: string, schema: SchemaType, fieldNames: Array<string>): Promise<void>;
|
deleteFields(className: string, schema: SchemaType, fieldNames: Array<string>): Promise<void>;
|
||||||
getAllClasses(): Promise<StorageClass[]>;
|
getAllClasses(): Promise<StorageClass[]>;
|
||||||
|
|||||||
Reference in New Issue
Block a user