forked from KKondratenya/2019-2-Atom-Frontend-K-Kondranteya
-
Notifications
You must be signed in to change notification settings - Fork 0
/
convertBytesToHuman.test.js
36 lines (31 loc) · 1.29 KB
/
convertBytesToHuman.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
* Необходимо покрыть все возможные
* и невозможные кейсы. Например,
* convertBytesToHuman(-1) === false,
* convertBytesToHuman(-1) !== '1 B',
* convertBytesToHuman('string') === false
* convertBytesToHuman(5) === '5 B'
*/
import convertBytesToHuman from './convertBytesToHuman';
test('Возвращает false для неправильного типа данных', () => {
expect(convertBytesToHuman("12")).toBe(false)
expect(convertBytesToHuman(-1)).toBe(false)
expect(convertBytesToHuman({})).toBe(false)
expect(convertBytesToHuman(function() {})).toBe(false)
expect(convertBytesToHuman([])).toBe(false)
expect(convertBytesToHuman(true)).toBe(false)
expect(convertBytesToHuman(false)).toBe(false)
expect(convertBytesToHuman(null)).toBe(false)
});
test('Возвращает корректное значение для чисел', () => {
expect(convertBytesToHuman(1)).toBe('1.00 B')
expect(convertBytesToHuman(1024)).toBe('1.00 KB')
expect(convertBytesToHuman(1024 * 1024)).toBe('1.00 MB')
convertBytesToHuman(123123123) === '117.42 MB'
// ...
});
// другая группа проверок
test('Проверка на отрицательные числа', () => {
convertBytesToHuman(-1) !== '1 B'
// ...
});