Browse Source

test(core:) update dom-insetion.service and append-content.token tests

pull/3681/head
mehmet-erim 7 years ago
parent
commit
8e6d82c5a0
  1. 35
      npm/ng-packs/packages/core/src/lib/tests/dom-insertion.service.spec.ts
  2. 3
      npm/ng-packs/packages/theme-shared/src/lib/tests/append-content.token.spec.ts

35
npm/ng-packs/packages/core/src/lib/tests/dom-insertion.service.spec.ts

@ -6,6 +6,7 @@ describe('DomInsertionService', () => {
let styleElements: NodeListOf<HTMLStyleElement>;
let spectator: SpectatorService<DomInsertionService>;
const createService = createServiceFactory(DomInsertionService);
const content = '.test {}';
beforeEach(() => (spectator = createService()));
@ -13,39 +14,37 @@ describe('DomInsertionService', () => {
describe('#insertContent', () => {
it('should be able to insert given content', () => {
spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead('.test {}'));
spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead(content));
styleElements = document.head.querySelectorAll('style');
expect(styleElements.length).toBe(1);
expect(styleElements[0].textContent).toBe('.test {}');
expect(styleElements[0].textContent).toBe(content);
});
it('should set a hash for the inserted content', () => {
spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead('.test {}'));
expect(spectator.service.inserted.has(1437348290)).toBe(true);
spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead(content));
expect(spectator.service.has(content)).toBe(true);
});
it('should insert only once', () => {
expect(spectator.service.inserted.has(1437348290)).toBe(false);
expect(spectator.service.has(content)).toBe(false);
spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead('.test {}'));
spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead(content));
styleElements = document.head.querySelectorAll('style');
expect(styleElements.length).toBe(1);
expect(styleElements[0].textContent).toBe('.test {}');
expect(spectator.service.inserted.has(1437348290)).toBe(true);
expect(styleElements[0].textContent).toBe(content);
expect(spectator.service.has(content)).toBe(true);
spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead('.test {}'));
spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead(content));
styleElements = document.head.querySelectorAll('style');
expect(styleElements.length).toBe(1);
expect(styleElements[0].textContent).toBe('.test {}');
expect(spectator.service.inserted.has(1437348290)).toBe(true);
expect(styleElements[0].textContent).toBe(content);
expect(spectator.service.has(content)).toBe(true);
});
it('should return inserted element', () => {
const element = spectator.service.insertContent(
CONTENT_STRATEGY.AppendStyleToHead('.test {}'),
);
const element = spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead(content));
expect(element.tagName).toBe('STYLE');
});
});
@ -53,13 +52,11 @@ describe('DomInsertionService', () => {
describe('#removeContent', () => {
it('should remove inserted element and the hash for the content', () => {
expect(document.head.querySelector('style')).toBeNull();
const element = spectator.service.insertContent(
CONTENT_STRATEGY.AppendStyleToHead('.test {}'),
);
expect(spectator.service.inserted.has(1437348290)).toBe(true);
const element = spectator.service.insertContent(CONTENT_STRATEGY.AppendStyleToHead(content));
expect(spectator.service.has(content)).toBe(true);
spectator.service.removeContent(element);
expect(spectator.service.inserted.has(1437348290)).toBe(false);
expect(spectator.service.has(content)).toBe(false);
expect(document.head.querySelector('style')).toBeNull();
});
});

3
npm/ng-packs/packages/theme-shared/src/lib/tests/append-content.token.spec.ts

@ -3,6 +3,7 @@ import { createComponentFactory, Spectator } from '@ngneat/spectator';
import { THEME_SHARED_APPEND_CONTENT } from '../tokens/append-content.token';
import { DomInsertionService } from '@abp/ng.core';
import { chartJsLoaded$ } from '../utils';
import styles from '../constants/styles';
@Component({ selector: 'abp-dummy', template: '' })
class DummyComponent {}
@ -15,7 +16,7 @@ describe('AppendContentToken', () => {
it('should insert a style element to the DOM', () => {
spectator.get(THEME_SHARED_APPEND_CONTENT);
expect(spectator.get(DomInsertionService).inserted.size).toBe(1);
expect(spectator.get(DomInsertionService).has(styles)).toBe(true);
});
it('should be loaded the chart.js', done => {

Loading…
Cancel
Save