-
Notifications
You must be signed in to change notification settings - Fork 2
/
disabled-when.spec.ts
46 lines (40 loc) · 1.71 KB
/
disabled-when.spec.ts
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
36
37
38
39
40
41
42
43
44
45
46
import {marbles} from 'rxjs-marbles/jest';
import {disabledWhen} from './disabled-when';
describe('disabledWhen', () => {
it('should not emit if source completes', marbles(m => {
const s$ = m.cold('|');
const o$ = m.cold('a-b-c-d-e|').pipe(disabledWhen(s$));
const result = ' ---------|';
m.expect(o$).toBeObservable(result);
}));
it('should not emit if source never emits', marbles(m => {
const s$ = m.cold('----------');
const o$ = m.cold('a-b-c-d-e|').pipe(disabledWhen(s$));
const result = ' ---------|';
m.expect(o$).toBeObservable(result);
}));
it('should not emit when disabled', marbles(m => {
const s$ = m.cold('a---|', {a: true});
const o$ = m.cold('a-b-c-d-e|').pipe(disabledWhen(s$));
const result = ' ---------|';
m.expect(o$).toBeObservable(result);
}));
it('should emit all when source emits false and completes', marbles(m => {
const s$ = m.cold('a|', {a: false});
const o$ = m.cold('a-b-c-d-e|').pipe(disabledWhen(s$));
const result = ' a-b-c-d-e|';
m.expect(o$).toBeObservable(result);
}));
it('should emit all when source emits false', marbles(m => {
const s$ = m.cold('a---------', {a: false});
const o$ = m.cold('a-b-c-d-e|').pipe(disabledWhen(s$));
const result = ' a-b-c-d-e|';
m.expect(o$).toBeObservable(result);
}));
it('should emit only when toggled to false', marbles(m => {
const s$ = m.cold('a---b---c|', {a: true, b: false, c: true});
const o$ = m.cold('a-b-c-d-e|').pipe(disabledWhen(s$));
const result = ' ----c-d--|';
m.expect(o$).toBeObservable(result);
}));
});