Passed
Push — main ( 0e3197...a3863e )
by Pieter Epeüs
04:16 queued 01:18
created

src/__tests__/rate-limit-error.unit.js   A

Complexity

Total Complexity 3
Complexity/F 1

Size

Lines of Code 50
Function Count 3

Duplication

Duplicated Lines 50
Ratio 100 %

Importance

Changes 0
Metric Value
wmc 3
eloc 39
mnd 0
bc 0
fnc 3
dl 50
loc 50
bpm 0
cpm 1
noi 0
c 0
b 0
f 0
rs 10

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1 View Code Duplication
import { expect, describe, it } from '@jest/globals';
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
2
import { RateLimitError } from '../index.js';
3
4
describe('Rate limit Error test', () => {
5
    it('It should create a rate limit error', () => {
6
        const error = new RateLimitError({
7
            value: 'test',
8
            type: String,
9
            message: 'Example text',
10
        });
11
12
        expect(error instanceof RateLimitError).toEqual(true);
13
        expect(error instanceof TypeError).toEqual(true);
14
        expect(error instanceof Error).toEqual(true);
15
        expect(error.name).toEqual('RateLimitError');
16
        expect(error.message).toEqual('Example text');
17
        expect(error.value).toEqual('test');
18
        expect(error.status).toEqual(429);
19
        expect(error.type).toEqual(String);
20
        expect(error.date.constructor).toEqual(Date);
21
        expect(error.stack.includes('RateLimitError: Example text')).toEqual(
22
            true
23
        );
24
    });
25
26
    it('It should handle invalid error values', () => {
27
        const error = new RateLimitError({
28
            value: 'test',
29
            type: 'string',
30
            message: 'Example text',
31
        });
32
33
        expect(error instanceof RateLimitError).toEqual(true);
34
        expect(error instanceof Error).toEqual(true);
35
        expect(error.name).toEqual('RateLimitError');
36
        expect(error.message).toEqual('Invalid error');
37
        expect(error.value.errors[0][0]).toEqual('type?');
38
        expect(error.value.values.message).toEqual('Invalid error');
39
        expect(error.value.values.name).toEqual('RateLimitError');
40
        expect(error.value.values.status).toEqual(429);
41
        expect(error.value.values.type).toEqual(Error);
42
        expect(error.value.values.value).toEqual('test');
43
        expect(error.status).toEqual(500);
44
        expect(error.type).toEqual(Error);
45
        expect(error.date.constructor).toEqual(Date);
46
        expect(error.stack.includes('RateLimitError: Invalid error')).toEqual(
47
            true
48
        );
49
    });
50
});
51