mirror of
https://github.com/plankanban/planka.git
synced 2025-07-18 20:59:44 +02:00
Add test libs, update dependencies
This commit is contained in:
parent
cd6d929cbf
commit
16acd1b49c
24 changed files with 1692 additions and 159 deletions
|
@ -15,18 +15,23 @@ module.exports.blueprints = {
|
|||
* Automatically expose implicit routes for every action in your app?
|
||||
*
|
||||
*/
|
||||
|
||||
// actions: false,
|
||||
|
||||
/**
|
||||
*
|
||||
* Automatically expose RESTful routes for your models?
|
||||
*
|
||||
*/
|
||||
|
||||
// rest: true,
|
||||
|
||||
/**
|
||||
*
|
||||
* Automatically expose CRUD "shortcut" routes to GET requests?
|
||||
* (These are enabled by default in development only.)
|
||||
*
|
||||
*/
|
||||
// shortcuts: true,
|
||||
|
||||
shortcuts: false,
|
||||
};
|
||||
|
|
29
server/config/env/production.js
vendored
29
server/config/env/production.js
vendored
|
@ -20,8 +20,6 @@
|
|||
*/
|
||||
|
||||
const url = require('url');
|
||||
const path = require('path');
|
||||
const sails = require('sails');
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
|
@ -50,9 +48,8 @@ module.exports = {
|
|||
*/
|
||||
|
||||
default: {
|
||||
adapter: 'sails-postgresql',
|
||||
url: process.env.DATABASE_URL,
|
||||
|
||||
// adapter: 'sails-mysql',
|
||||
// url: 'mysql://user:password@host:port/database',
|
||||
/**
|
||||
*
|
||||
* More adapter-specific options
|
||||
|
@ -64,7 +61,6 @@ module.exports = {
|
|||
* https://sailsjs.com/config/datastores
|
||||
*
|
||||
*/
|
||||
|
||||
// ssl: true,
|
||||
},
|
||||
},
|
||||
|
@ -80,9 +76,7 @@ module.exports = {
|
|||
* https://sailsjs.com/docs/concepts/models-and-orm/model-settings#?migrate
|
||||
*
|
||||
*/
|
||||
|
||||
migrate: 'safe',
|
||||
|
||||
// migrate: 'safe',
|
||||
/**
|
||||
*
|
||||
* If, in production, this app has access to physical-layer CASCADE
|
||||
|
@ -92,7 +86,6 @@ module.exports = {
|
|||
* choose to keep this enabled.)
|
||||
*
|
||||
*/
|
||||
|
||||
// cascadeOnDestroy: false,
|
||||
},
|
||||
|
||||
|
@ -107,7 +100,7 @@ module.exports = {
|
|||
*/
|
||||
|
||||
blueprints: {
|
||||
shortcuts: false,
|
||||
// shortcuts: false,
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -199,8 +192,6 @@ module.exports = {
|
|||
// secure: true,
|
||||
maxAge: 24 * 60 * 60 * 1000, // 24 hours
|
||||
},
|
||||
|
||||
secret: process.env.SECRET_KEY,
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -327,15 +318,7 @@ module.exports = {
|
|||
*/
|
||||
|
||||
custom: {
|
||||
baseUrl: process.env.BASE_URL,
|
||||
|
||||
userAvatarsPath: path.join(sails.config.paths.public, 'user-avatars'),
|
||||
userAvatarsUrl: `${process.env.BASE_URL}/user-avatars`,
|
||||
|
||||
projectBackgroundImagesPath: path.join(sails.config.paths.public, 'project-background-images'),
|
||||
projectBackgroundImagesUrl: `${process.env.BASE_URL}/project-background-images`,
|
||||
|
||||
attachmentsPath: path.join(sails.config.paths.public, 'attachments'),
|
||||
attachmentsUrl: `${process.env.BASE_URL}/attachments`,
|
||||
// baseUrl: 'https://example.com',
|
||||
// internalEmailAddress: 'support@example.com',
|
||||
},
|
||||
};
|
||||
|
|
70
server/config/env/test.js
vendored
Normal file
70
server/config/env/test.js
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
/**
|
||||
* Test environment settings
|
||||
* (sails.config.*)
|
||||
*
|
||||
* What you see below is a quick outline of the built-in settings you need
|
||||
* to configure your Sails app for test. The configuration in this file
|
||||
* is only used in your test environment, i.e. when you lift your app using:
|
||||
*
|
||||
* ```
|
||||
* NODE_ENV=test node app
|
||||
* ```
|
||||
*
|
||||
* > If you're using git as a version control solution for your Sails app,
|
||||
* > this file WILL BE COMMITTED to your repository by default, unless you add
|
||||
* > it to your .gitignore file. If your repository will be publicly viewable,
|
||||
* > don't add private/sensitive data (like API secrets / db passwords) to this file!
|
||||
*
|
||||
* For more best practices and tips, see:
|
||||
* https://sailsjs.com/docs/concepts/deployment
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
/**
|
||||
*
|
||||
* Tell Sails what database(s) it should use in test.
|
||||
*
|
||||
* (https://sailsjs.com/config/datastores)
|
||||
*
|
||||
*/
|
||||
|
||||
datastores: {
|
||||
/**
|
||||
*
|
||||
* Configure your default test database.
|
||||
*
|
||||
* 1. Choose an adapter:
|
||||
* https://sailsjs.com/plugins/databases
|
||||
*
|
||||
* 2. Install it as a dependency of your Sails app.
|
||||
* (For example: npm install sails-mysql --save)
|
||||
*
|
||||
* 3. Then set it here (`adapter`), along with a connection URL (`url`)
|
||||
* and any other, adapter-specific customizations.
|
||||
* (See https://sailsjs.com/config/datastores for help.)
|
||||
*
|
||||
*/
|
||||
|
||||
default: {
|
||||
adapter: 'sails-disk',
|
||||
|
||||
/**
|
||||
*
|
||||
* More adapter-specific options
|
||||
*
|
||||
* > For example, for some hosted PostgreSQL providers (like Heroku), the
|
||||
* > extra `ssl: true` option is mandatory and must be provided.
|
||||
*
|
||||
* More info:
|
||||
* https://sailsjs.com/config/datastores
|
||||
*
|
||||
*/
|
||||
|
||||
inMemoryOnly: true,
|
||||
},
|
||||
},
|
||||
|
||||
log: {
|
||||
level: 'warn',
|
||||
},
|
||||
};
|
|
@ -18,7 +18,7 @@ module.exports.session = {
|
|||
*
|
||||
*/
|
||||
|
||||
secret: '8b5b32787a446caa57c0a5abbb4ed6fe',
|
||||
secret: process.env.SECRET_KEY,
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
879
server/package-lock.json
generated
879
server/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -4,14 +4,13 @@
|
|||
"main": "app.js",
|
||||
"scripts": {
|
||||
"console": "dotenv sails console",
|
||||
"custom-tests": "echo \"(No other custom tests yet.)\" && echo",
|
||||
"db:init": "node db/init.js",
|
||||
"db:migrate": "knex migrate:latest --cwd db",
|
||||
"db:seed": "knex seed:run --cwd db",
|
||||
"lint": "eslint . --max-warnings=0 --report-unused-disable-directives && echo '✔ Your .js files look good.'",
|
||||
"start": "nodemon",
|
||||
"start:prod": "node app.js --prod",
|
||||
"test": "npm run lint && npm run custom-tests && echo 'Done.'"
|
||||
"test": "mocha test/lifecycle.test.js test/integration/**/*.test.js"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"plugins": [
|
||||
|
@ -44,8 +43,8 @@
|
|||
"dotenv-cli": "^3.2.0",
|
||||
"filenamify": "^4.1.0",
|
||||
"jsonwebtoken": "^8.5.1",
|
||||
"knex": "^0.21.4",
|
||||
"lodash": "^4.17.19",
|
||||
"knex": "^0.21.5",
|
||||
"lodash": "^4.17.20",
|
||||
"moment": "^2.27.0",
|
||||
"rimraf": "^3.0.2",
|
||||
"sails": "^1.2.4",
|
||||
|
@ -58,13 +57,16 @@
|
|||
"validator": "^13.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chai": "^4.2.0",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-airbnb-base": "^14.2.0",
|
||||
"eslint-config-prettier": "^6.11.0",
|
||||
"eslint-plugin-import": "^2.22.0",
|
||||
"eslint-plugin-prettier": "^3.1.4",
|
||||
"mocha": "^8.1.1",
|
||||
"nodemon": "^2.0.4",
|
||||
"prettier": "2.0.5"
|
||||
"prettier": "2.0.5",
|
||||
"supertest": "^4.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.10"
|
||||
|
|
0
server/test/fixtures/.gitkeep
vendored
Normal file
0
server/test/fixtures/.gitkeep
vendored
Normal file
0
server/test/integration/controllers/.gitkeep
Normal file
0
server/test/integration/controllers/.gitkeep
Normal file
0
server/test/integration/helpers/.gitkeep
Normal file
0
server/test/integration/helpers/.gitkeep
Normal file
19
server/test/integration/models/User.test.js
Normal file
19
server/test/integration/models/User.test.js
Normal file
|
@ -0,0 +1,19 @@
|
|||
const { expect } = require('chai');
|
||||
|
||||
describe('User (model)', () => {
|
||||
before(async () => {
|
||||
await User.create({
|
||||
email: 'test@test.test',
|
||||
password: 'test',
|
||||
name: 'test',
|
||||
});
|
||||
});
|
||||
|
||||
describe('#find()', () => {
|
||||
it('should return 1 user', async () => {
|
||||
const users = await User.find();
|
||||
|
||||
expect(users).to.have.lengthOf(1);
|
||||
});
|
||||
});
|
||||
});
|
23
server/test/lifecycle.test.js
Normal file
23
server/test/lifecycle.test.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
const dotenv = require('dotenv');
|
||||
const sails = require('sails');
|
||||
const rc = require('sails/accessible/rc');
|
||||
|
||||
process.env.NODE_ENV = 'test';
|
||||
|
||||
before(function beforeCallback(done) {
|
||||
this.timeout(5000);
|
||||
|
||||
dotenv.config();
|
||||
|
||||
sails.lift(rc('sails'), (error) => {
|
||||
if (error) {
|
||||
return done(error);
|
||||
}
|
||||
|
||||
return done();
|
||||
});
|
||||
});
|
||||
|
||||
after(function afterCallback(done) {
|
||||
sails.lower(done);
|
||||
});
|
0
server/test/mocha.opts
Normal file
0
server/test/mocha.opts
Normal file
Loading…
Add table
Add a link
Reference in a new issue