24
circle.yml
Normal file
24
circle.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
machine:
|
||||||
|
node:
|
||||||
|
version: 7.6
|
||||||
|
services:
|
||||||
|
- redis
|
||||||
|
environment:
|
||||||
|
ENVIRONMENT: test
|
||||||
|
PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"
|
||||||
|
SEQUELIZE_SECRET: F0E5AD933D7F6FD8F4DBB3E038C501C052DC0593C686D21ACB30AE205D2F634B
|
||||||
|
DATABASE_URL_TEST: postgres://ubuntu@localhost:5432/circle_test
|
||||||
|
DATABASE_URL: postgres://ubuntu@localhost:5432/circle_test
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
override:
|
||||||
|
- yarn
|
||||||
|
cache_directories:
|
||||||
|
- ~/.cache/yarn
|
||||||
|
|
||||||
|
test:
|
||||||
|
pre:
|
||||||
|
- sequelize db:migrate --url postgres://ubuntu@localhost:5432/circle_test
|
||||||
|
override:
|
||||||
|
- yarn test
|
||||||
|
- yarn lint
|
||||||
@@ -5,8 +5,7 @@ describe('Document model', () => {
|
|||||||
test('should initialize with data', () => {
|
test('should initialize with data', () => {
|
||||||
const document = new Document({
|
const document = new Document({
|
||||||
id: 123,
|
id: 123,
|
||||||
title: 'Onboarding',
|
text: '# Onboarding\nSome body text',
|
||||||
text: 'Some body text'
|
|
||||||
});
|
});
|
||||||
expect(document.title).toBe('Onboarding');
|
expect(document.title).toBe('Onboarding');
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,8 +5,7 @@
|
|||||||
"<rootDir>/server"
|
"<rootDir>/server"
|
||||||
],
|
],
|
||||||
"setupFiles": [
|
"setupFiles": [
|
||||||
"<rootDir>/__mocks__/console.js",
|
"<rootDir>/__mocks__/console.js"
|
||||||
"./server/test/helper.js"
|
|
||||||
],
|
],
|
||||||
"testEnvironment": "node"
|
"testEnvironment": "node"
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,16 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
up: (queryInterface, Sequelize) => {
|
up: (queryInterface, Sequelize) => {
|
||||||
queryInterface.renameTable('atlases', 'collections');
|
queryInterface.renameTable('atlases', 'collections').then(() => {
|
||||||
queryInterface.addColumn('collections', 'documentStructure', {
|
queryInterface.addColumn('collections', 'documentStructure', {
|
||||||
type: Sequelize.JSONB,
|
type: Sequelize.JSONB,
|
||||||
allowNull: true,
|
allowNull: true,
|
||||||
});
|
});
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
down: (queryInterface, _Sequelize) => {
|
down: (queryInterface, _Sequelize) => {
|
||||||
queryInterface.renameTable('collections', 'atlases');
|
queryInterface.renameTable('collections', 'atlases').then(() => {
|
||||||
queryInterface.removeColumn('atlases', 'documentStructure');
|
queryInterface.removeColumn('atlases', 'documentStructure');
|
||||||
|
});
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
up: function(queryInterface, Sequelize) {
|
up: function(queryInterface, Sequelize) {
|
||||||
queryInterface.createTable('views', {
|
queryInterface
|
||||||
|
.createTable('views', {
|
||||||
id: {
|
id: {
|
||||||
type: Sequelize.UUID,
|
type: Sequelize.UUID,
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
@@ -27,14 +28,17 @@ module.exports = {
|
|||||||
type: Sequelize.DATE,
|
type: Sequelize.DATE,
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
},
|
},
|
||||||
});
|
})
|
||||||
|
.then(() => {
|
||||||
queryInterface.addIndex('views', ['documentId', 'userId'], {
|
queryInterface.addIndex('views', ['documentId', 'userId'], {
|
||||||
indicesType: 'UNIQUE',
|
indicesType: 'UNIQUE',
|
||||||
});
|
});
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
down: function(queryInterface, Sequelize) {
|
down: function(queryInterface, Sequelize) {
|
||||||
queryInterface.removeIndex('views', ['documentId', 'userId']);
|
queryInterface.removeIndex('views', ['documentId', 'userId']).then(() => {
|
||||||
queryInterface.dropTable('views');
|
queryInterface.dropTable('views');
|
||||||
|
});
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
up: function(queryInterface, Sequelize) {
|
up: function(queryInterface, Sequelize) {
|
||||||
queryInterface.createTable('stars', {
|
queryInterface
|
||||||
|
.createTable('stars', {
|
||||||
id: {
|
id: {
|
||||||
type: Sequelize.UUID,
|
type: Sequelize.UUID,
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
@@ -22,14 +23,17 @@ module.exports = {
|
|||||||
type: Sequelize.DATE,
|
type: Sequelize.DATE,
|
||||||
allowNull: false,
|
allowNull: false,
|
||||||
},
|
},
|
||||||
});
|
})
|
||||||
|
.then(() => {
|
||||||
queryInterface.addIndex('stars', ['documentId', 'userId'], {
|
queryInterface.addIndex('stars', ['documentId', 'userId'], {
|
||||||
indicesType: 'UNIQUE',
|
indicesType: 'UNIQUE',
|
||||||
});
|
});
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
down: function(queryInterface, Sequelize) {
|
down: function(queryInterface, Sequelize) {
|
||||||
queryInterface.removeIndex('stars', ['documentId', 'userId']);
|
queryInterface.removeIndex('stars', ['documentId', 'userId']).then(() => {
|
||||||
queryInterface.dropTable('stars');
|
queryInterface.dropTable('stars');
|
||||||
|
});
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
require('dotenv').config({ silent: true });
|
// @flow
|
||||||
|
require('../../init');
|
||||||
|
|
||||||
// test environment variables
|
// test environment variables
|
||||||
process.env.DATABASE_URL = process.env.DATABASE_URL_TEST;
|
process.env.DATABASE_URL = process.env.DATABASE_URL_TEST;
|
||||||
|
|||||||
Reference in New Issue
Block a user