Skip to content

Commit b3b4b22

Browse files
committed
test(backdrop): coverage
1 parent 09ea1d3 commit b3b4b22

File tree

3 files changed

+61
-3
lines changed

3 files changed

+61
-3
lines changed

CHANGELOG.md

+14
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
11
### [@coreui/angular](https://coreui.io/angular/) changelog
22

33

4+
---
5+
6+
#### `5.3.9` wip
7+
8+
- fix(accordion): accordion item not expanded when visible=true on init (regression)
9+
- refactor(alert): signal inputs, host bindings, cleanup, tests
10+
- refactor(breadcrumb): signal inputs, host bindings, cleanup, tests
11+
- refactor(grid): signal inputs, host bindings, cleanup, tests
12+
- refactor(header): signal inputs, host bindings, cleanup, tests
13+
- refactor(theme.directive): signal inputs, host bindings, cleanup, tests
14+
- test(accordion): coverage
15+
- test(element-ref): update
16+
- test(backdrop): coverage
17+
418
---
519

620
#### `5.3.8`
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,59 @@
1-
import { TestBed } from '@angular/core/testing';
1+
import { fakeAsync, TestBed, tick } from '@angular/core/testing';
22

33
import { BackdropService } from './backdrop.service';
4+
import { DOCUMENT } from '@angular/common';
45

56
describe('BackdropService', () => {
67
let service: BackdropService;
8+
let document: Document;
9+
let backdrop: any;
710

811
beforeEach(() => {
912
TestBed.configureTestingModule({});
1013
service = TestBed.inject(BackdropService);
14+
document = TestBed.inject(DOCUMENT);
1115
});
1216

17+
afterAll(() => {
18+
expect(document.querySelector('.modal-backdrop')).toBeNull();
19+
}, 500);
20+
1321
it('should be created', () => {
1422
expect(service).toBeTruthy();
1523
});
24+
25+
it('should set backdrop', fakeAsync(() => {
26+
// expect(service.scrollbarWidth).toBe('0px');
27+
expect(document.querySelector('.modal-backdrop')).toBeNull();
28+
backdrop = service.setBackdrop();
29+
tick();
30+
expect(document.querySelector('.modal-backdrop')).not.toBeNull();
31+
expect(backdrop).toHaveClass('modal-backdrop');
32+
expect(backdrop).toHaveClass('fade');
33+
expect(backdrop).toHaveClass('show');
34+
service.clearBackdrop(backdrop);
35+
expect(backdrop).not.toHaveClass('show');
36+
expect(document.querySelector('.modal-backdrop')).not.toBeNull();
37+
}));
38+
39+
it('should hide scrollbar', () => {
40+
service.hideScrollbar();
41+
expect(document.body.style.overflow).toBe('hidden');
42+
// expect(document.body.style.paddingRight).toBe('0px');
43+
});
44+
45+
it('should reset scrollbar', () => {
46+
service.resetScrollbar();
47+
expect(document.body.style.overflow).not.toBe('hidden');
48+
});
49+
50+
it('should emit backdrop click', fakeAsync(() => {
51+
backdrop = service.setBackdrop();
52+
tick();
53+
service.backdropClick$.subscribe((value) => {
54+
expect(value).toBeTrue();
55+
});
56+
backdrop.dispatchEvent(new MouseEvent('click'));
57+
service.clearBackdrop(backdrop);
58+
}));
1659
});

projects/coreui-angular/src/lib/backdrop/backdrop.service.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { Subject } from 'rxjs';
66
providedIn: 'root'
77
})
88
export class BackdropService {
9-
109
readonly #backdropClick = new Subject<boolean>();
1110
readonly backdropClick$ = this.#backdropClick.asObservable();
1211

@@ -58,7 +57,9 @@ export class BackdropService {
5857
return undefined;
5958
}
6059

61-
get #isRTL() { return this.#document.documentElement.dir === 'rtl' || this.#document.body.dir === 'rtl'; }
60+
get #isRTL() {
61+
return [this.#document.documentElement.dir, this.#document.body.dir].includes('rtl');
62+
}
6263

6364
#scrollBarVisible = true;
6465

0 commit comments

Comments
 (0)