UNPKG

leagueofcomicgeeks

Version:

Unofficial Node.js library for interacting with League of Comic Geeks

54 lines (49 loc) 1.97 kB
const _ = require('lodash'); const allIssuesCollection = require('./test-data/all-issues-collection'); const filteredIssuesCollection = require('./test-data/filtered-issues-collection'); const sortedIssuesCollection = require('./test-data/sorted-issues-collection'); module.exports = function (lofcg) { describe('get issues list', function () { it('should provide no comics in collection with an invalid user id', function (done) { lofcg.collection.get('foo', (err, collection) => { expect(err).toBeNull(); expect(collection.length).toBe(0); expect(collection).toEqual([]); done(); }); }); it('should provide a list of comics from a users collection', function (done) { lofcg.collection.get(readonlyUserId, (err, collection) => { expect(err).toBeNull(); expect(collection.length).toBe(86); expect(collection).toEqual(allIssuesCollection); _.each(collection, (comic) => { expect(comic).toBeAComicIssue(); }); done(); }); }); it('should provide a filtered list of comics from a users collection', function (done) { lofcg.collection.get(readonlyUserId, { publishers: ['Image Comics'] }, (err, collection) => { expect(err).toBeNull(); expect(collection.length).toBe(13); expect(collection).toEqual(filteredIssuesCollection); _.each(collection, (comic) => { expect(comic).toBeAComicIssue(); }); done(); }); }); it('should provide a sorted list of comics from a users collection', function (done) { lofcg.collection.get(readonlyUserId, { sort: 'desc' }, (err, collection) => { expect(err).toBeNull(); expect(collection.length).toBe(86); expect(collection).toEqual(sortedIssuesCollection); _.each(collection, (comic) => { expect(comic).toBeAComicIssue(); }); done(); }); }); }); };