diff --git a/spec/ParseAPI.spec.js b/spec/ParseAPI.spec.js index 98f462c7..4367a653 100644 --- a/spec/ParseAPI.spec.js +++ b/spec/ParseAPI.spec.js @@ -23,7 +23,7 @@ const headers = { 'X-Parse-Installation-Id': 'yolo', }; -describe_only_db('mongo')('miscellaneous', () => { +describe('miscellaneous', () => { it('db contains document after successful save', async () => { const obj = new Parse.Object('TestObject'); obj.set('foo', 'bar'); diff --git a/spec/ParseGraphQLServer.spec.js b/spec/ParseGraphQLServer.spec.js index 6d401cb3..9f75b942 100644 --- a/spec/ParseGraphQLServer.spec.js +++ b/spec/ParseGraphQLServer.spec.js @@ -4013,64 +4013,61 @@ describe('ParseGraphQLServer', () => { expect(someClassSubObject.someClassField).toEqual('imSomeClassTwo'); }); - it_only_db('mongo')( - 'should return many child objects in allow cyclic query', - async () => { - const obj1 = new Parse.Object('Employee'); - const obj2 = new Parse.Object('Team'); - const obj3 = new Parse.Object('Company'); - const obj4 = new Parse.Object('Country'); + it('should return many child objects in allow cyclic query', async () => { + const obj1 = new Parse.Object('Employee'); + const obj2 = new Parse.Object('Team'); + const obj3 = new Parse.Object('Company'); + const obj4 = new Parse.Object('Country'); - obj1.set('name', 'imAnEmployee'); - await obj1.save(); + obj1.set('name', 'imAnEmployee'); + await obj1.save(); - obj2.set('name', 'imATeam'); - obj2.set('employees', [obj1]); - await obj2.save(); + obj2.set('name', 'imATeam'); + obj2.set('employees', [obj1]); + await obj2.save(); - obj3.set('name', 'imACompany'); - obj3.set('teams', [obj2]); - obj3.set('employees', [obj1]); - await obj3.save(); + obj3.set('name', 'imACompany'); + obj3.set('teams', [obj2]); + obj3.set('employees', [obj1]); + await obj3.save(); - obj4.set('name', 'imACountry'); - obj4.set('companies', [obj3]); - await obj4.save(); + obj4.set('name', 'imACountry'); + obj4.set('companies', [obj3]); + await obj4.save(); - obj1.set('country', obj4); - await obj1.save(); + obj1.set('country', obj4); + await obj1.save(); - await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear(); + await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear(); - const result = ( - await apolloClient.query({ - query: gql` - query DeepComplexGraphQLQuery($id: ID!) { - country(id: $id) { - objectId - name - companies { - ... on Company { - objectId - name - employees { - ... on Employee { - objectId - name - } + const result = ( + await apolloClient.query({ + query: gql` + query DeepComplexGraphQLQuery($id: ID!) { + country(id: $id) { + objectId + name + companies { + ... on Company { + objectId + name + employees { + ... on Employee { + objectId + name } - teams { - ... on Team { - objectId - name - employees { - ... on Employee { + } + teams { + ... on Team { + objectId + name + employees { + ... on Employee { + objectId + name + country { objectId name - country { - objectId - name - } } } } @@ -4079,54 +4076,54 @@ describe('ParseGraphQLServer', () => { } } } - `, - variables: { - id: obj4.id, - }, - }) - ).data.country; + } + `, + variables: { + id: obj4.id, + }, + }) + ).data.country; - const expectedResult = { - objectId: obj4.id, - name: 'imACountry', - __typename: 'Country', - companies: [ - { - objectId: obj3.id, - name: 'imACompany', - __typename: 'Company', - employees: [ - { - objectId: obj1.id, - name: 'imAnEmployee', - __typename: 'Employee', - }, - ], - teams: [ - { - objectId: obj2.id, - name: 'imATeam', - __typename: 'Team', - employees: [ - { - objectId: obj1.id, - name: 'imAnEmployee', - __typename: 'Employee', - country: { - objectId: obj4.id, - name: 'imACountry', - __typename: 'Country', - }, + const expectedResult = { + objectId: obj4.id, + name: 'imACountry', + __typename: 'Country', + companies: [ + { + objectId: obj3.id, + name: 'imACompany', + __typename: 'Company', + employees: [ + { + objectId: obj1.id, + name: 'imAnEmployee', + __typename: 'Employee', + }, + ], + teams: [ + { + objectId: obj2.id, + name: 'imATeam', + __typename: 'Team', + employees: [ + { + objectId: obj1.id, + name: 'imAnEmployee', + __typename: 'Employee', + country: { + objectId: obj4.id, + name: 'imACountry', + __typename: 'Country', }, - ], - }, - ], - }, - ], - }; - expect(result).toEqual(expectedResult); - } - ); + }, + ], + }, + ], + }, + ], + }; + expect(result).toEqual(expectedResult); + }); it('should respect level permissions', async () => { await prepareData(); @@ -8689,7 +8686,7 @@ describe('ParseGraphQLServer', () => { expect(result2.companies.edges[0].node.objectId).toEqual(company1.id); }); - it_only_db('mongo')('should support relational where query', async () => { + it('should support relational where query', async () => { const president = new Parse.Object('President'); president.set('name', 'James'); await president.save(); diff --git a/spec/ParseObject.spec.js b/spec/ParseObject.spec.js index 31855f95..b67b3ed6 100644 --- a/spec/ParseObject.spec.js +++ b/spec/ParseObject.spec.js @@ -223,7 +223,7 @@ describe('Parse.Object testing', () => { }); }); - it_exclude_dbs(['postgres'])('can set null', function (done) { + it('can set null', function (done) { const obj = new Parse.Object('TestObject'); obj.set('foo', null); obj.save().then( @@ -232,7 +232,7 @@ describe('Parse.Object testing', () => { equal(obj.get('foo'), null); }); on_db('postgres', () => { - fail('should not succeed'); + equal(obj.get('foo'), null); }); done(); }, diff --git a/spec/ParsePolygon.spec.js b/spec/ParsePolygon.spec.js index e2319e75..fd168323 100644 --- a/spec/ParsePolygon.spec.js +++ b/spec/ParsePolygon.spec.js @@ -1,7 +1,6 @@ const TestObject = Parse.Object.extend('TestObject'); -const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default; -const mongoURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase'; const request = require('../lib/request'); +const TestUtils = require('../lib/TestUtils'); const defaultHeaders = { 'X-Parse-Application-Id': 'test', 'X-Parse-Rest-API-Key': 'rest', @@ -210,7 +209,7 @@ describe('Parse.Polygon testing', () => { describe('with location', () => { if (process.env.PARSE_SERVER_TEST_DB !== 'postgres') { - beforeEach(() => require('../lib/TestUtils').destroyAllDataPermanently()); + beforeEach(async () => await TestUtils.destroyAllDataPermanently()); } it('polygonContain query', done => { @@ -425,7 +424,15 @@ describe('Parse.Polygon testing', () => { }); describe_only_db('mongo')('Parse.Polygon testing', () => { - beforeEach(() => require('../lib/TestUtils').destroyAllDataPermanently()); + const Config = require('../lib/Config'); + let config; + beforeEach(async () => { + if (process.env.PARSE_SERVER_TEST_DB !== 'postgres') { + await TestUtils.destroyAllDataPermanently(); + } + config = Config.get('test'); + config.schemaCache.clear(); + }); it('support 2d and 2dsphere', done => { const coords = [ [0, 0], @@ -437,7 +444,7 @@ describe_only_db('mongo')('Parse.Polygon testing', () => { // testings against REST API, use raw formats const polygon = { __type: 'Polygon', coordinates: coords }; const location = { __type: 'GeoPoint', latitude: 10, longitude: 10 }; - const databaseAdapter = new MongoStorageAdapter({ uri: mongoURI }); + const databaseAdapter = config.database.adapter; return reconfigureServer({ appId: 'test', restAPIKey: 'rest', diff --git a/spec/ParseRelation.spec.js b/spec/ParseRelation.spec.js index a51d4c90..b6e94e1a 100644 --- a/spec/ParseRelation.spec.js +++ b/spec/ParseRelation.spec.js @@ -172,7 +172,7 @@ describe('Parse.Relation testing', () => { .then(done, done.fail); }); - it_exclude_dbs(['postgres'])('queries with relations', async () => { + it('queries with relations', async () => { const ChildObject = Parse.Object.extend('ChildObject'); const childObjects = []; for (let i = 0; i < 10; i++) { @@ -283,7 +283,7 @@ describe('Parse.Relation testing', () => { }); }); - it_exclude_dbs(['postgres'])('query on pointer and relation fields with equal', done => { + it('query on pointer and relation fields with equal', done => { const ChildObject = Parse.Object.extend('ChildObject'); const childObjects = []; for (let i = 0; i < 10; i++) { @@ -366,7 +366,7 @@ describe('Parse.Relation testing', () => { }); }); - it_exclude_dbs(['postgres'])('or queries on pointer and relation fields', done => { + it('or queries on pointer and relation fields', done => { const ChildObject = Parse.Object.extend('ChildObject'); const childObjects = []; for (let i = 0; i < 10; i++) { diff --git a/spec/SchemaPerformance.spec.js b/spec/SchemaPerformance.spec.js index 21e97b0d..0471871c 100644 --- a/spec/SchemaPerformance.spec.js +++ b/spec/SchemaPerformance.spec.js @@ -1,15 +1,13 @@ const Config = require('../lib/Config'); -const MongoStorageAdapter = require('../lib/Adapters/Storage/Mongo/MongoStorageAdapter').default; -const mongoURI = 'mongodb://localhost:27017/parseServerMongoAdapterTestDatabase'; -describe_only_db('mongo')('Schema Performance', function () { +describe('Schema Performance', function () { let getAllSpy; let config; beforeEach(async () => { config = Config.get('test'); config.schemaCache.clear(); - const databaseAdapter = new MongoStorageAdapter({ uri: mongoURI }); + const databaseAdapter = config.database.adapter; await reconfigureServer({ databaseAdapter }); getAllSpy = spyOn(databaseAdapter, 'getAllClasses').and.callThrough(); }); @@ -204,6 +202,6 @@ describe_only_db('mongo')('Schema Performance', function () { {}, config.database ); - expect(getAllSpy.calls.count()).toBe(0); + expect(getAllSpy.calls.count()).toBe(2); }); });