UNPKG

2.3 kBJavaScriptView Raw
1'use strict';
2
3var Promise = require('../test-utils').Promise;
4
5module.exports = function (dbName, dbType, Pouch) {
6 describe(dbType + ' test suite 2', function () {
7 // tests that don't destroy/recreate the database for each test,
8 // because that makes them take a long time
9
10 this.timeout(100000);
11
12 var context = {};
13
14 before(function () {
15 this.timeout(60000);
16 context.db = new Pouch(dbName);
17
18 return context.db.bulkDocs([
19 { name: 'mario', _id: 'mario', rank: 5, series: 'mario', debut: 1981 },
20 { name: 'jigglypuff', _id: 'puff', rank: 8, series: 'pokemon', debut: 1996 },
21 { name: 'link', rank: 10, _id: 'link', series: 'zelda', debut: 1986 },
22 { name: 'donkey kong', rank: 7, _id: 'dk', series: 'mario', debut: 1981 },
23 { name: 'pikachu', series: 'pokemon', _id: 'pikachu', rank: 1, debut: 1996 },
24 { name: 'captain falcon', _id: 'falcon', rank: 4, series: 'f-zero', debut: 1990 },
25 { name: 'luigi', rank: 11, _id: 'luigi', series: 'mario', debut: 1983 },
26 { name: 'fox', _id: 'fox', rank: 3, series: 'star fox', debut: 1993 },
27 { name: 'ness', rank: 9, _id: 'ness', series: 'earthbound', debut: 1994 },
28 { name: 'samus', rank: 12, _id: 'samus', series: 'metroid', debut: 1986 },
29 { name: 'yoshi', _id: 'yoshi', rank: 6, series: 'mario', debut: 1990 },
30 { name: 'kirby', _id: 'kirby', series: 'kirby', rank: 2, debut: 1992 }
31 ]).then(function () {
32 return Promise.all([
33 context.db.createIndex({index: {fields: ['rank']}}),
34 context.db.createIndex({index: {fields: ['series']}}),
35 context.db.createIndex({index: {fields: ['debut']}}),
36 context.db.createIndex({index: {fields: ['name']}}),
37 context.db.createIndex({index: {fields: ['name', 'rank']}}),
38 context.db.createIndex({index: {fields: ['name', 'series']}}),
39 context.db.createIndex({index: {fields: ['series', 'debut', 'rank']}}),
40 context.db.createIndex({index: {fields: ['rank', 'debut']}})
41 ]);
42 });
43 });
44 after(function () {
45 this.timeout(60000);
46 return context.db.destroy();
47 });
48
49 require('./test.kitchen-sink')(dbType, context);
50 require('./test.kitchen-sink-2')(dbType, context);
51 });
52};
\No newline at end of file