Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
Move to use mock of ioredis instead of dockest
  • Loading branch information
felixmosh committed May 28, 2021
1 parent 1e47501 commit 043474a
Show file tree
Hide file tree
Showing 10 changed files with 86 additions and 51 deletions.
8 changes: 0 additions & 8 deletions docker-compose.yml

This file was deleted.

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"build": "lerna run build",
"start:dev:docker": "docker-compose up -d",
"start:dev:server": "ts-node-dev --rs example.ts",
"test": "yarn ts-node tests/dockest",
"test": "lerna run test",
"release": "release-it"
},
"devDependencies": {
Expand All @@ -55,7 +55,6 @@
"babel-loader": "^8.2.2",
"bull": "^3.22.6",
"bullmq": "^1.28.0",
"dockest": "2.1.0",
"eslint": "^7.27.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-no-only-tests": "^2.6.0",
Expand Down
1 change: 1 addition & 0 deletions packages/api/__mocks__/ioredis/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require('ioredis-mock/jest');
15 changes: 15 additions & 0 deletions packages/api/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
const packageJson = require('./package.json');

module.exports = {
name: packageJson.name,
displayName: packageJson.name,
preset: 'ts-jest',
testEnvironment: 'node',
globals: {
'ts-jest': {
diagnostics: false, // https://huafu.github.io/ts-jest/user/config/diagnostics
},
},
testPathIgnorePatterns: ['/node_modules/'],
testMatch: ['<rootDir>/tests/**/*.spec.ts'],
};
7 changes: 5 additions & 2 deletions packages/api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
"author": "felixmosh",
"license": "MIT",
"scripts": {
"build": "tsc"
"build": "tsc",
"test": "jest"
},
"files": [
"dist",
Expand All @@ -18,6 +19,8 @@
"devDependencies": {
"@types/bull": "^3.15.1",
"@types/node": "^15.6.1",
"bullmq": "^1.28.0"
"bullmq": "^1.28.0",
"ioredis-mock": "^5.5.7",
"redis-mock": "^0.56.3"
}
}
41 changes: 24 additions & 17 deletions tests/api/index.spec.ts → packages/api/tests/api/index.spec.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,17 @@
import { Queue } from 'bullmq';
import request from 'supertest';

import { createBullBoard } from '../../src';
import { BullMQAdapter } from '../../src/queueAdapters/bullMQ';
import { createBullBoard } from '@bull-board/api';
import { BullMQAdapter } from '@bull-board/api/bullMQAdapter';
import { ExpressAdapter } from '@bull-board/express';

describe('happy', () => {
let serverAdapter: ExpressAdapter;

beforeEach(() => {
serverAdapter = new ExpressAdapter();
});

it('should be able to set queue', async () => {
const paintQueue = new Queue('Paint', {
connection: {
Expand All @@ -13,9 +20,9 @@ describe('happy', () => {
},
});

const { router } = createBullBoard([new BullMQAdapter(paintQueue)]);
createBullBoard({ queues: [new BullMQAdapter(paintQueue)], serverAdapter });

await request(router)
await request(serverAdapter.getRouter())
.get('/api/queues')
.expect('Content-Type', /json/)
.expect(200)
Expand Down Expand Up @@ -84,14 +91,14 @@ describe('happy', () => {
},
});

const { router, replaceQueues } = createBullBoard([
new BullMQAdapter(paintQueue),
new BullMQAdapter(drainQueue),
]);
const { replaceQueues } = createBullBoard({
queues: [new BullMQAdapter(paintQueue), new BullMQAdapter(drainQueue)],
serverAdapter,
});

replaceQueues([new BullMQAdapter(codeQueue)]);

await request(router)
await request(serverAdapter.getRouter())
.get('/api/queues')
.expect('Content-Type', /json/)
.expect(200)
Expand Down Expand Up @@ -146,11 +153,11 @@ describe('happy', () => {
},
});

const { router, addQueue } = createBullBoard([]);
const { addQueue } = createBullBoard({ queues: [], serverAdapter });

addQueue(new BullMQAdapter(addedQueue));

await request(router)
await request(serverAdapter.getRouter())
.get('/api/queues')
.expect('Content-Type', /json/)
.expect(200)
Expand Down Expand Up @@ -205,12 +212,12 @@ describe('happy', () => {
},
});

const { router, addQueue, removeQueue } = createBullBoard([]);
const { addQueue, removeQueue } = createBullBoard({ queues: [], serverAdapter });

addQueue(new BullMQAdapter(addedQueue));
removeQueue(new BullMQAdapter(addedQueue));

await request(router)
await request(serverAdapter.getRouter())
.get('/api/queues')
.expect('Content-Type', /json/)
.expect(200)
Expand Down Expand Up @@ -238,12 +245,12 @@ describe('happy', () => {
},
});

const { router, addQueue, removeQueue } = createBullBoard([]);
const { addQueue, removeQueue } = createBullBoard({ queues: [], serverAdapter });

addQueue(new BullMQAdapter(addedQueue));
removeQueue('AddedQueue');

await request(router)
await request(serverAdapter.getRouter())
.get('/api/queues')
.expect('Content-Type', /json/)
.expect(200)
Expand Down Expand Up @@ -271,11 +278,11 @@ describe('happy', () => {
},
});

const { router, replaceQueues } = createBullBoard([]);
const { replaceQueues } = createBullBoard({ queues: [], serverAdapter });

replaceQueues([new BullMQAdapter(codeQueue)]);

await request(router)
await request(serverAdapter.getRouter())
.get('/api/queues')
.expect('Content-Type', /json/)
.expect(200)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as bullBoard from '../../src';
import * as bullBoard from '@bull-board/api';

describe('lib public interface', () => {
it('should save the interface', () => {
Expand Down
17 changes: 0 additions & 17 deletions tests/dockest.ts

This file was deleted.

4 changes: 0 additions & 4 deletions tsconfig.publish.json

This file was deleted.

39 changes: 39 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6150,6 +6150,20 @@ fb-watchman@^2.0.0:
dependencies:
bser "2.1.1"

fengari-interop@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/fengari-interop/-/fengari-interop-0.1.2.tgz#f7731dcdd2ff4449073fb7ac3c451a8841ce1e87"
integrity sha512-8iTvaByZVoi+lQJhHH9vC+c/Yaok9CwOqNQZN6JrVpjmWwW4dDkeblBXhnHC+BoI6eF4Cy5NKW3z6ICEjvgywQ==

fengari@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/fengari/-/fengari-0.1.4.tgz#72416693cd9e43bd7d809d7829ddc0578b78b0bb"
integrity sha512-6ujqUuiIYmcgkGz8MGAdERU57EIluGGPSUgGPTsco657EHa+srq0S3/YUl/r9kx1+D+d4rGfYObd+m8K22gB1g==
dependencies:
readline-sync "^1.4.9"
sprintf-js "^1.1.1"
tmp "^0.0.33"

figures@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
Expand Down Expand Up @@ -7275,6 +7289,16 @@ io-ts@^2.2.10:
resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.16.tgz#597dffa03db1913fc318c9c6df6931cb4ed808b2"
integrity sha512-y5TTSa6VP6le0hhmIyN0dqEXkrZeJLeC5KApJq6VLci3UEKF80lZ+KuoUs02RhBxNWlrqSNxzfI7otLX1Euv8Q==

ioredis-mock@^5.5.7:
version "5.5.7"
resolved "https://registry.yarnpkg.com/ioredis-mock/-/ioredis-mock-5.5.7.tgz#61eca8974015bc52c6c214ba4971a93fcf23b249"
integrity sha512-sFUdqw4d3AIdQkEK7pvs8aiEEGiE2JTypTwTfU2aGmrhytdRODTYmReCCQhR6ABQlL8FyWno8wjdGbxxLYhJCw==
dependencies:
fengari "^0.1.4"
fengari-interop "^0.1.2"
lodash "^4.17.21"
standard-as-callback "^2.1.0"

ioredis@^4.22.0, ioredis@^4.25.0:
version "4.26.0"
resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.26.0.tgz#dbbfb5e5da085fc2b1de8174db50fa42f9fed66a"
Expand Down Expand Up @@ -11230,6 +11254,11 @@ readdirp@~3.5.0:
dependencies:
picomatch "^2.2.1"

readline-sync@^1.4.9:
version "1.4.10"
resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.10.tgz#41df7fbb4b6312d673011594145705bf56d8873b"
integrity sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==

rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
Expand Down Expand Up @@ -11277,6 +11306,11 @@ redis-info@^3.0.8:
dependencies:
lodash "^4.17.11"

redis-mock@^0.56.3:
version "0.56.3"
resolved "https://registry.yarnpkg.com/redis-mock/-/redis-mock-0.56.3.tgz#e96471bcc774ddc514c2fc49cdd03cab2baecd89"
integrity sha512-ynaJhqk0Qf3Qajnwvy4aOjS4Mdf9IBkELWtjd+NYhpiqu4QCNq6Vf3Q7c++XRPGiKiwRj9HWr0crcwy7EiPjYQ==

redis-parser@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4"
Expand Down Expand Up @@ -12169,6 +12203,11 @@ split@^1.0.0:
dependencies:
through "2"

sprintf-js@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==

sprintf-js@~1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
Expand Down

0 comments on commit 043474a

Please sign in to comment.