UNPKG

leagueofcomicgeeks

Version:

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

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