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', () => {
|
||||
const document = new Document({
|
||||
id: 123,
|
||||
title: 'Onboarding',
|
||||
text: 'Some body text'
|
||||
text: '# Onboarding\nSome body text',
|
||||
});
|
||||
expect(document.title).toBe('Onboarding');
|
||||
});
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
"<rootDir>/server"
|
||||
],
|
||||
"setupFiles": [
|
||||
"<rootDir>/__mocks__/console.js",
|
||||
"./server/test/helper.js"
|
||||
"<rootDir>/__mocks__/console.js"
|
||||
],
|
||||
"testEnvironment": "node"
|
||||
}
|
||||
}
|
||||
@@ -11,4 +11,4 @@
|
||||
"use_env_variable": "DATABASE_URL",
|
||||
"dialect": "postgres"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,16 @@
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
queryInterface.renameTable('atlases', 'collections');
|
||||
queryInterface.addColumn('collections', 'documentStructure', {
|
||||
type: Sequelize.JSONB,
|
||||
allowNull: true,
|
||||
queryInterface.renameTable('atlases', 'collections').then(() => {
|
||||
queryInterface.addColumn('collections', 'documentStructure', {
|
||||
type: Sequelize.JSONB,
|
||||
allowNull: true,
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
down: (queryInterface, _Sequelize) => {
|
||||
queryInterface.renameTable('collections', 'atlases');
|
||||
queryInterface.removeColumn('atlases', 'documentStructure');
|
||||
queryInterface.renameTable('collections', 'atlases').then(() => {
|
||||
queryInterface.removeColumn('atlases', 'documentStructure');
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,40 +1,44 @@
|
||||
module.exports = {
|
||||
up: function(queryInterface, Sequelize) {
|
||||
queryInterface.createTable('views', {
|
||||
id: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
},
|
||||
documentId: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
},
|
||||
userId: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
},
|
||||
count: {
|
||||
type: Sequelize.INTEGER,
|
||||
allowNull: false,
|
||||
defaultValue: 1,
|
||||
},
|
||||
createdAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
updatedAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
});
|
||||
queryInterface.addIndex('views', ['documentId', 'userId'], {
|
||||
indicesType: 'UNIQUE',
|
||||
});
|
||||
queryInterface
|
||||
.createTable('views', {
|
||||
id: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
},
|
||||
documentId: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
},
|
||||
userId: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
},
|
||||
count: {
|
||||
type: Sequelize.INTEGER,
|
||||
allowNull: false,
|
||||
defaultValue: 1,
|
||||
},
|
||||
createdAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
updatedAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
})
|
||||
.then(() => {
|
||||
queryInterface.addIndex('views', ['documentId', 'userId'], {
|
||||
indicesType: 'UNIQUE',
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
down: function(queryInterface, Sequelize) {
|
||||
queryInterface.removeIndex('views', ['documentId', 'userId']);
|
||||
queryInterface.dropTable('views');
|
||||
queryInterface.removeIndex('views', ['documentId', 'userId']).then(() => {
|
||||
queryInterface.dropTable('views');
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,35 +1,39 @@
|
||||
module.exports = {
|
||||
up: function(queryInterface, Sequelize) {
|
||||
queryInterface.createTable('stars', {
|
||||
id: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
},
|
||||
documentId: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
},
|
||||
userId: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
},
|
||||
createdAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
updatedAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
});
|
||||
queryInterface.addIndex('stars', ['documentId', 'userId'], {
|
||||
indicesType: 'UNIQUE',
|
||||
});
|
||||
queryInterface
|
||||
.createTable('stars', {
|
||||
id: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
primaryKey: true,
|
||||
},
|
||||
documentId: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
},
|
||||
userId: {
|
||||
type: Sequelize.UUID,
|
||||
allowNull: false,
|
||||
},
|
||||
createdAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
updatedAt: {
|
||||
type: Sequelize.DATE,
|
||||
allowNull: false,
|
||||
},
|
||||
})
|
||||
.then(() => {
|
||||
queryInterface.addIndex('stars', ['documentId', 'userId'], {
|
||||
indicesType: 'UNIQUE',
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
down: function(queryInterface, Sequelize) {
|
||||
queryInterface.removeIndex('stars', ['documentId', 'userId']);
|
||||
queryInterface.dropTable('stars');
|
||||
queryInterface.removeIndex('stars', ['documentId', 'userId']).then(() => {
|
||||
queryInterface.dropTable('stars');
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
require('dotenv').config({ silent: true });
|
||||
// @flow
|
||||
require('../../init');
|
||||
|
||||
// test environment variables
|
||||
process.env.DATABASE_URL = process.env.DATABASE_URL_TEST;
|
||||
|
||||
Reference in New Issue
Block a user