From 00ad5cf7a8f42cdc0298f0bc78f35c27efdf2e90 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 21:07:13 +0100 Subject: [PATCH 01/24] Added mocha, istanbul and supertest packages. Added coverange and test script. --- seasoned_api/package.json | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/seasoned_api/package.json b/seasoned_api/package.json index 8ac0fe3..a93104f 100644 --- a/seasoned_api/package.json +++ b/seasoned_api/package.json @@ -3,13 +3,14 @@ "main": "webserver/server.js", "scripts": { "start": "cross-env SEASONED_CONFIG=conf/development.json NODE_PATH=. node src/webserver/server.js", + "test": "cross-env SEASONED_CONFIG=conf/development.json NODE_PATH=. mocha --recursive test/unit test/system", + "coverage": "cross-env PLANFLIX_CONFIG=conf/test.json NODE_PATH=. istanbul cover -x script/autogenerate-documentation.js --include-all-sources --dir test/.coverage node_modules/mocha/bin/_mocha --recursive test/**/* -- --report lcovonly && cat test/.coverage/lcov.info | coveralls && rm -rf test/.coverage", "lint": "./node_modules/.bin/eslint src/webserver/" }, "dependencies": { "bcrypt-nodejs": "^0.0.3", "body-parser": "~1.0.1", "cross-env": "^3.1.3", - "eslint": "^4.9.0", "express": "~4.0.0", "jsonwebtoken": "^8.0.1", "mongoose": "^3.6.13", @@ -20,11 +21,16 @@ "raven": "^2.2.1", "request": "^2.81.0", "request-promise": "^4.2", - "sqlite": "^2.2.1", - "sqlite3": "^2.5.0" + "sqlite": "^2.9.0" }, "devDependencies": { "eslint-config-airbnb-base": "^12.1.0", - "eslint-plugin-import": "^2.8.0" + "eslint-plugin-import": "^2.8.0", + "eslint": "^4.9.0", + "istanbul": "^0.4.5", + "mocha": "^3.1.0", + "supertest": "^2.0.1", + "supertest-as-promised": "^4.0.1" + } } From f6c27482e4adfe4128a6d8c9e233eec0b0ca9af3 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 21:07:33 +0100 Subject: [PATCH 02/24] Added script for teardown of database. --- seasoned_api/src/database/sqliteDatabase.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/seasoned_api/src/database/sqliteDatabase.js b/seasoned_api/src/database/sqliteDatabase.js index 5ac1330..a68e207 100644 --- a/seasoned_api/src/database/sqliteDatabase.js +++ b/seasoned_api/src/database/sqliteDatabase.js @@ -69,6 +69,15 @@ class SqliteDatabase { return this.execute(setupSchema); } + /** + * Tears down the database by running tearDown.sql file in schemas/. + * @returns {Promise} + */ + tearDown() { + const tearDownSchema = this.readSqlFile('tearDown.sql'); + return this.execute(tearDownSchema); + } + /** * Returns the file contents of a SQL file in schemas/. * @returns {String} From e19b604a78d87aeb9c2ed0e9e252f1d19840a04b Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 21:08:35 +0100 Subject: [PATCH 03/24] Our teardown sql script. --- seasoned_api/src/database/schemas/teardown.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 seasoned_api/src/database/schemas/teardown.sql diff --git a/seasoned_api/src/database/schemas/teardown.sql b/seasoned_api/src/database/schemas/teardown.sql new file mode 100644 index 0000000..35fef21 --- /dev/null +++ b/seasoned_api/src/database/schemas/teardown.sql @@ -0,0 +1,3 @@ +DROP TABLE IF EXISTS user; +DROP TABLE IF EXISTS search_history; +DROP TABLE IF EXISTS requests; \ No newline at end of file From e4573e6808d2f00ea39507f665d9bc2644ec16a4 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 21:13:24 +0100 Subject: [PATCH 04/24] Forgot to remove path without test scripts yet. --- seasoned_api/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seasoned_api/package.json b/seasoned_api/package.json index a93104f..596fd38 100644 --- a/seasoned_api/package.json +++ b/seasoned_api/package.json @@ -3,7 +3,7 @@ "main": "webserver/server.js", "scripts": { "start": "cross-env SEASONED_CONFIG=conf/development.json NODE_PATH=. node src/webserver/server.js", - "test": "cross-env SEASONED_CONFIG=conf/development.json NODE_PATH=. mocha --recursive test/unit test/system", + "test": "cross-env SEASONED_CONFIG=conf/development.json NODE_PATH=. mocha --recursive test/system", "coverage": "cross-env PLANFLIX_CONFIG=conf/test.json NODE_PATH=. istanbul cover -x script/autogenerate-documentation.js --include-all-sources --dir test/.coverage node_modules/mocha/bin/_mocha --recursive test/**/* -- --report lcovonly && cat test/.coverage/lcov.info | coveralls && rm -rf test/.coverage", "lint": "./node_modules/.bin/eslint src/webserver/" }, From 625717f7adee1a8748c378703c805f24b7d90658 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 22:16:36 +0100 Subject: [PATCH 05/24] Now when checking config file if the value is blank it checks env variables for a variable defined as uppcase section + option with a separator of _. --- seasoned_api/src/config/configuration.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/seasoned_api/src/config/configuration.js b/seasoned_api/src/config/configuration.js index c8aa9a2..bd9d4c3 100644 --- a/seasoned_api/src/config/configuration.js +++ b/seasoned_api/src/config/configuration.js @@ -27,6 +27,11 @@ class Config { const field = new Field(this.fields[section][option]) + if (field.value === '') { + const envField = process.env[[section.toUpperCase(), option.toUpperCase()].join('_')] + if (envField !== undefined && envField.length !== 0) { return envField } + } + if (field.value === undefined) { throw new Error(`${section} => ${option} is empty.`); } From fe64af856e512dea6b9300dd8a08eb0cee86dc01 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 22:16:57 +0100 Subject: [PATCH 06/24] Fixed a old bug. --- seasoned_api/src/config/field.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seasoned_api/src/config/field.js b/seasoned_api/src/config/field.js index 2dbfc58..1a8b79a 100644 --- a/seasoned_api/src/config/field.js +++ b/seasoned_api/src/config/field.js @@ -4,7 +4,7 @@ const EnvironmentVariables = require('./environmentVariables.js'); class Field { constructor(rawValue, environmentVariables) { - this.rawValue, rawValue; + this.rawValue = rawValue; this.filters = new Filters(rawValue); this.valueWithoutFilters = this.filters.removeFiltersFromValue(); this.environmentVariables = new EnvironmentVariables(environmentVariables); From fba38455233dc19d59c11a0e1d62d0686e703a0b Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 22:17:45 +0100 Subject: [PATCH 07/24] Now we check if the values length is 0 not the filters varaible. --- seasoned_api/src/config/filters.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seasoned_api/src/config/filters.js b/seasoned_api/src/config/filters.js index ebd813d..fbeab07 100644 --- a/seasoned_api/src/config/filters.js +++ b/seasoned_api/src/config/filters.js @@ -10,7 +10,7 @@ class Filters { } isEmpty() { - return !this.hasValidType() || this.filters.length === 0; + return !this.hasValidType() || this.value.length === 0; } has(filter) { From 93e43d99543174653dcbbd736d5057a5fa5c4677 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 22:22:25 +0100 Subject: [PATCH 08/24] Added a template development.json file for build purposes. --- seasoned_api/conf/development.json | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 seasoned_api/conf/development.json diff --git a/seasoned_api/conf/development.json b/seasoned_api/conf/development.json new file mode 100644 index 0000000..abf8399 --- /dev/null +++ b/seasoned_api/conf/development.json @@ -0,0 +1,24 @@ +{ + "database": { + "host": "../shows.db" + }, + "webserver": { + "port": 31459 + }, + "tmdb": { + "apiKey": "" + }, + "raven": { + "DSN": "" + }, + "mail": { + "host": "", + "user": "", + "password": "", + "user_pi": "", + "password_pi": "" + }, + "authentication": { + "secret": "secret" + } +} From 54eca33dfae16869da7a0b082bbb47848d2e53b9 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 22:27:20 +0100 Subject: [PATCH 09/24] Forgot to update the node version in travis config file. --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3140bb8..4f8b8e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ { 'dist': 'trusty', 'language': 'node_js', - 'node_js': '6.9.5', + 'node_js': '8.7.0', 'cache': 'yarn', 'scripts': [ npm run test @@ -11,4 +11,4 @@ ], 'before_script': 'yarn', 'os': 'linux', -} \ No newline at end of file +} From bced4e052d603ed46f49ee74adeda8826075f6bf Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 22:42:53 +0100 Subject: [PATCH 10/24] There was a weird thing with the file permissions so it would not be read by travis. Now it should be fixed --- seasoned_api/src/database/schemas/teardown.sql | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/seasoned_api/src/database/schemas/teardown.sql b/seasoned_api/src/database/schemas/teardown.sql index 35fef21..34d52bd 100644 --- a/seasoned_api/src/database/schemas/teardown.sql +++ b/seasoned_api/src/database/schemas/teardown.sql @@ -1,3 +1 @@ -DROP TABLE IF EXISTS user; -DROP TABLE IF EXISTS search_history; -DROP TABLE IF EXISTS requests; \ No newline at end of file +teardown.sql.bak From fb225767086483b045ee64f8797c0c04f80118c4 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 22:51:08 +0100 Subject: [PATCH 11/24] Travis is still not reading our teardown file. --- seasoned_api/src/database/schemas/teardown.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/seasoned_api/src/database/schemas/teardown.sql b/seasoned_api/src/database/schemas/teardown.sql index 34d52bd..ebc1ac9 100644 --- a/seasoned_api/src/database/schemas/teardown.sql +++ b/seasoned_api/src/database/schemas/teardown.sql @@ -1 +1,4 @@ -teardown.sql.bak +DROP TABLE IF EXISTS user; +DROP TABLE IF EXISTS search_history; +DROP TABLE IF EXISTS list; +DROP TABLE IF EXISTS list_content; From 6a725e3921f8824650c8fab5a36c29db71b7c191 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 23:06:02 +0100 Subject: [PATCH 12/24] Added tons of console.logs to try find out where the problem with travis not being able to read file lies. --- seasoned_api/src/database/sqliteDatabase.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/seasoned_api/src/database/sqliteDatabase.js b/seasoned_api/src/database/sqliteDatabase.js index a68e207..c30ae26 100644 --- a/seasoned_api/src/database/sqliteDatabase.js +++ b/seasoned_api/src/database/sqliteDatabase.js @@ -75,6 +75,7 @@ class SqliteDatabase { */ tearDown() { const tearDownSchema = this.readSqlFile('tearDown.sql'); + console.log(tearDownSchema); return this.execute(tearDownSchema); } @@ -83,8 +84,11 @@ class SqliteDatabase { * @returns {String} */ readSqlFile(filename) { + console.log(filename) const schemaPath = path.join(this.schemaDirectory, filename); + console.log(schemaPath) const schema = fs.readFileSync(schemaPath).toString('utf-8'); + console.log(schema) return schema; } } From 0459fb93125a01f1298e116626f5289d29a03712 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 23:18:13 +0100 Subject: [PATCH 13/24] More testing for this bug. --- seasoned_api/src/database/sqliteDatabase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seasoned_api/src/database/sqliteDatabase.js b/seasoned_api/src/database/sqliteDatabase.js index c30ae26..d30f9f1 100644 --- a/seasoned_api/src/database/sqliteDatabase.js +++ b/seasoned_api/src/database/sqliteDatabase.js @@ -88,7 +88,7 @@ class SqliteDatabase { const schemaPath = path.join(this.schemaDirectory, filename); console.log(schemaPath) const schema = fs.readFileSync(schemaPath).toString('utf-8'); - console.log(schema) + console.log('schema: ', schema) return schema; } } From f0e8f84e1262e5b5278d0f4d5329aba377ae0ff2 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Wed, 20 Dec 2017 23:20:49 +0100 Subject: [PATCH 14/24] Building with osx now --- .travis.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4f8b8e0..359cacb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,13 @@ { - 'dist': 'trusty', 'language': 'node_js', 'node_js': '8.7.0', 'cache': 'yarn', 'scripts': [ - npm run test + ' npm run test', ], 'before_install': [ 'cd seasoned_api', ], 'before_script': 'yarn', - 'os': 'linux', + 'os': 'osx', } From e6a34a0503d97869fac1b27b735afdd438b523a6 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Thu, 21 Dec 2017 00:38:46 +0100 Subject: [PATCH 15/24] Back to linux. plz fix plzzzzz --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 359cacb..6f664eb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,14 @@ { + 'dist': 'trusty', 'language': 'node_js', 'node_js': '8.7.0', 'cache': 'yarn', 'scripts': [ - ' npm run test', + 'npm run test' ], 'before_install': [ 'cd seasoned_api', ], 'before_script': 'yarn', - 'os': 'osx', + 'os': 'linux', } From 908fca6dd0d6c9156f57787b8a2c64f761d2faac Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Thu, 21 Dec 2017 00:42:44 +0100 Subject: [PATCH 16/24] Trying to remove teardown between tests. --- seasoned_api/test/helpers/resetDatabase.js | 1 - 1 file changed, 1 deletion(-) diff --git a/seasoned_api/test/helpers/resetDatabase.js b/seasoned_api/test/helpers/resetDatabase.js index 2498852..8fd83a7 100644 --- a/seasoned_api/test/helpers/resetDatabase.js +++ b/seasoned_api/test/helpers/resetDatabase.js @@ -4,7 +4,6 @@ function resetDatabase() { const database = new SqliteDatabase(':memory:'); return Promise.resolve() .then(() => database.connect()) - .then(() => database.tearDown()) .then(() => database.setUp()); } From 2623649c5d426180c59b59847bf47f4cb8040918 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Thu, 21 Dec 2017 00:46:52 +0100 Subject: [PATCH 17/24] Tried to re-add teardown and updated it to drop only tables that are in the database. Crossing fingers for a second pass. --- seasoned_api/src/database/schemas/teardown.sql | 3 +-- seasoned_api/test/helpers/resetDatabase.js | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/seasoned_api/src/database/schemas/teardown.sql b/seasoned_api/src/database/schemas/teardown.sql index ebc1ac9..750cbab 100644 --- a/seasoned_api/src/database/schemas/teardown.sql +++ b/seasoned_api/src/database/schemas/teardown.sql @@ -1,4 +1,3 @@ DROP TABLE IF EXISTS user; DROP TABLE IF EXISTS search_history; -DROP TABLE IF EXISTS list; -DROP TABLE IF EXISTS list_content; +DROP TABLE IF EXISTS requests; diff --git a/seasoned_api/test/helpers/resetDatabase.js b/seasoned_api/test/helpers/resetDatabase.js index 8fd83a7..06a5152 100644 --- a/seasoned_api/test/helpers/resetDatabase.js +++ b/seasoned_api/test/helpers/resetDatabase.js @@ -3,7 +3,8 @@ const SqliteDatabase = require('src/database/sqliteDatabase'); function resetDatabase() { const database = new SqliteDatabase(':memory:'); return Promise.resolve() - .then(() => database.connect()) + .then(() => database.connect()); + .then(() => database.tearDown()); .then(() => database.setUp()); } From 9e160a7a9150303395944b930ba304c4875790f2 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 21 Dec 2017 00:52:34 +0100 Subject: [PATCH 18/24] Added build status to radme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ffa6c70..3a29c52 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # 🌶 seasonedShows -Your customly seasoned movie and show requester, downloader and organizer +[![Build Status](https://travis-ci.org/KevinMidboe/seasonedShows.svg?branch=testing)](https://travis-ci.org/KevinMidboe/seasonedShows) + +Your customly *seasoned* movie and show requester, downloader and organizer. ## About The goal of this project is to create a full custom stack that can to everything surround downloading, organizing and notifiyng of new media. From the top down we have a website using [tmdb](https://www.themoviedb.com) api to search for from over 350k movies and 70k tv shows. Using [hjone72](https://github.com/hjone72/PlexAuth) great PHP reverse proxy we can have a secure way of allowing users to login with their plex credentials which limits request capabilites to only users that are authenticated to use your plex library. From b4352ad72176b119e2a60103f3f42c130e0c6693 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Thu, 21 Dec 2017 00:53:38 +0100 Subject: [PATCH 19/24] Too many ; bro --- seasoned_api/test/helpers/resetDatabase.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/seasoned_api/test/helpers/resetDatabase.js b/seasoned_api/test/helpers/resetDatabase.js index 06a5152..2498852 100644 --- a/seasoned_api/test/helpers/resetDatabase.js +++ b/seasoned_api/test/helpers/resetDatabase.js @@ -3,8 +3,8 @@ const SqliteDatabase = require('src/database/sqliteDatabase'); function resetDatabase() { const database = new SqliteDatabase(':memory:'); return Promise.resolve() - .then(() => database.connect()); - .then(() => database.tearDown()); + .then(() => database.connect()) + .then(() => database.tearDown()) .then(() => database.setUp()); } From 601440d5406564de39c7cd0b1f92fa8cb3df1803 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Thu, 21 Dec 2017 01:00:47 +0100 Subject: [PATCH 20/24] Ok. I can explain this bug. It seems commenting out teardown in resetDatabase solves our issue that travis cannot find our teardown script eventough it outputs the exact path it should be at. Will come back to this as it seems it works everywhere else. Good night. --- seasoned_api/test/helpers/resetDatabase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seasoned_api/test/helpers/resetDatabase.js b/seasoned_api/test/helpers/resetDatabase.js index 2498852..fdb5c0b 100644 --- a/seasoned_api/test/helpers/resetDatabase.js +++ b/seasoned_api/test/helpers/resetDatabase.js @@ -4,7 +4,7 @@ function resetDatabase() { const database = new SqliteDatabase(':memory:'); return Promise.resolve() .then(() => database.connect()) - .then(() => database.tearDown()) + // .then(() => database.tearDown()) .then(() => database.setUp()); } From d92e6d8c7845564f44608af5a31a3d04062b0eaa Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Thu, 21 Dec 2017 01:01:43 +0100 Subject: [PATCH 21/24] Psst. Removed console logs from debug hunt. --- seasoned_api/src/database/sqliteDatabase.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/seasoned_api/src/database/sqliteDatabase.js b/seasoned_api/src/database/sqliteDatabase.js index d30f9f1..a68e207 100644 --- a/seasoned_api/src/database/sqliteDatabase.js +++ b/seasoned_api/src/database/sqliteDatabase.js @@ -75,7 +75,6 @@ class SqliteDatabase { */ tearDown() { const tearDownSchema = this.readSqlFile('tearDown.sql'); - console.log(tearDownSchema); return this.execute(tearDownSchema); } @@ -84,11 +83,8 @@ class SqliteDatabase { * @returns {String} */ readSqlFile(filename) { - console.log(filename) const schemaPath = path.join(this.schemaDirectory, filename); - console.log(schemaPath) const schema = fs.readFileSync(schemaPath).toString('utf-8'); - console.log('schema: ', schema) return schema; } } From 76069f4fea6411e9daf9159dfcb7c3016149f5be Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 21 Dec 2017 01:04:00 +0100 Subject: [PATCH 22/24] Added license badfge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3a29c52..cde5c89 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # 🌶 seasonedShows [![Build Status](https://travis-ci.org/KevinMidboe/seasonedShows.svg?branch=testing)](https://travis-ci.org/KevinMidboe/seasonedShows) +[![DUB](https://img.shields.io/dub/l/vibe-d.svg)]() Your customly *seasoned* movie and show requester, downloader and organizer. From bc0211e34fee19c66ba0e216f80998f7cd11da57 Mon Sep 17 00:00:00 2001 From: Kevin Midboe Date: Tue, 9 Jan 2018 17:02:03 +0100 Subject: [PATCH 23/24] Moved eslint to devDep and updated express to 4.11 --- seasoned_api/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/seasoned_api/package.json b/seasoned_api/package.json index 8ac0fe3..2f2309a 100644 --- a/seasoned_api/package.json +++ b/seasoned_api/package.json @@ -9,8 +9,7 @@ "bcrypt-nodejs": "^0.0.3", "body-parser": "~1.0.1", "cross-env": "^3.1.3", - "eslint": "^4.9.0", - "express": "~4.0.0", + "express": "~4.11.0", "jsonwebtoken": "^8.0.1", "mongoose": "^3.6.13", "moviedb": "^0.2.10", @@ -24,6 +23,7 @@ "sqlite3": "^2.5.0" }, "devDependencies": { + "eslint": "^4.9.0", "eslint-config-airbnb-base": "^12.1.0", "eslint-plugin-import": "^2.8.0" } From 0e8504675145ca38351075a81c0b9f27707f32ce Mon Sep 17 00:00:00 2001 From: Kevin Date: Tue, 9 Jan 2018 17:06:16 +0100 Subject: [PATCH 24/24] Update README.md Changed travis build badge to look at master instead of testing branch. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cde5c89..0466557 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # 🌶 seasonedShows -[![Build Status](https://travis-ci.org/KevinMidboe/seasonedShows.svg?branch=testing)](https://travis-ci.org/KevinMidboe/seasonedShows) +[![Build Status](https://travis-ci.org/KevinMidboe/seasonedShows.svg?branch=master)](https://travis-ci.org/KevinMidboe/seasonedShows) [![DUB](https://img.shields.io/dub/l/vibe-d.svg)]() Your customly *seasoned* movie and show requester, downloader and organizer.