* Automaticly fixable eslint issues, mostly 3 -> 2 space indentation * fix: updated plex_userid to camelcase * Linted and some consistency refactor on middleware * eslint uses ecmaversion 2020 & allow empty catch rule * Started linting source files * Fixed eslint errors & improved a lot of error handling * Set 2 eslint rules as warning temporarly * Updated all import statements to be relative * Updated mocha & nyc, resolved all lint issues in tests/ * Updated mocha & nyc. Removed production config. Updated gitignore * Updated test commands to omit system tests, no exit code * Updated test configuration w/ missing keys * Chai modules defined in package.json & resolved linting errors * Dockerfile copies development.example -> production.json. Simplified commands * All api calls from tests use same chaiHttp implementation Removes a list of fetch alternatives after being replaced by chaiHttp: - request - request-promise - supertest - supertest-as-promised * Tests should use redis (mock) cache, not tmdb sqlite cache * Disabled test asADeveloperIWantTheServerToStart * Re-enable tests/system * Use chaiHttp in asAUserIWantToRequestAMovie. * Fixed redis expire & mock implmentation * Replaced all fetch alternatives from source code and package.json * Pass error from tmdb api back to client as errorMessage * Updated authentication middleware to handle checks consitenctly * Prevent assert error when checking request status, returns success 200 * Resolved merge conflicts * Only build and publish docker container when branch master
32 lines
1.2 KiB
Plaintext
32 lines
1.2 KiB
Plaintext
const assert = require('assert');
|
|
// const Movie = require('src/movie/movie');
|
|
const TMDB = require('src/tmdb/tmdb');
|
|
const Cache = require('src/tmdb/cache');
|
|
const SqliteDatabase = require('src/database/sqliteDatabase');
|
|
const tmdbMock = require('test/helpers/tmdbMock');
|
|
|
|
const emptyQuerySuccess = require('tests/fixtures/empty-query-success-response.json');
|
|
const interstellarQuerySuccess = require('tests/fixtures/arrival-info-success-response.json');
|
|
const popularMovieSuccessResponse = require('tests/fixtures/popular-movies-success-response.json');
|
|
|
|
describe('TMDB', function test() {
|
|
beforeEach(() => {
|
|
this.mockMoviedb = tmdbMock();
|
|
this.database = new SqliteDatabase(':memory:');
|
|
return Promise.resolve()
|
|
.then(() => this.database.setUp());
|
|
});
|
|
|
|
describe('popular', () => {
|
|
it('should return the "Blade Runner 2049" year in the collection of popular movies', () => {
|
|
this.mockMoviedb.response = popularMovieSuccessResponse;
|
|
const cache = new Cache(this.database);
|
|
const tmdb = new TMDB(cache, 'bogus-pi-key', this.mockMoviedb);
|
|
return tmdb.popular()
|
|
.then(movies =>
|
|
assert.equal(movies[0].title, "Blade Runner 2049")
|
|
);
|
|
});
|
|
})
|
|
});
|