Passed
Push — master ( 0597be...a2c147 )
by Muhammad Dyas
02:30
created

tests/add-option-form.test.js   A

Complexity

Total Complexity 2
Complexity/F 1

Size

Lines of Code 37
Function Count 2

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 29
mnd 0
bc 0
fnc 2
dl 0
loc 37
rs 10
bpm 0
cpm 1
noi 0
c 0
b 0
f 0
1
import {default as json} from './json/add_option_form.json';
2
import {addOptionToState} from '../src/helpers/option.js';
3
import {buildAddOptionForm} from '../src/add-option-form.js';
4
5
import {dummyPoll} from './dummy.js';
6
7
test('build add option form', () => {
8
  const dialog = buildAddOptionForm({
9
    topic: 'Who is the most handsome AI?',
10
  });
11
  expect(dialog).toEqual(json);
12
});
13
14
test('add a new option to state', () => {
15
  // clone object
16
  const state = structuredClone(dummyPoll);
17
  addOptionToState('Unspecific Worm', state);
18
  expect(state.choices).toEqual([
19
    'Feather Duster Worm',
20
    'Christmas Tree Worm',
21
    'Coco Worm',
22
    'Bearded Fireworm',
23
    'Giant Tube Worm',
24
    'Unspecific Worm',
25
  ]);
26
  expect(state.choiceCreator).toStrictEqual({'5': ''});
27
  addOptionToState('Another Unspecific Worm', state, 'Dyas');
28
  expect(state.choices).toEqual([
29
    'Feather Duster Worm',
30
    'Christmas Tree Worm',
31
    'Coco Worm',
32
    'Bearded Fireworm',
33
    'Giant Tube Worm',
34
    'Unspecific Worm',
35
    'Another Unspecific Worm',
36
  ]);
37
  expect(state.choiceCreator).toStrictEqual({'5': '', '6': 'Dyas'});
38
});
39
40