import { TestBed, ComponentFixture } from '@angular/core/testing';
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
import { FileSizePipe } from './file-size.pipe';
import {Component} from '@angular/core';
TestBed.initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
describe('FileSizePipe', () => {
describe('Shallow Pipe Testing', () => {
@Component({
template: `size: {{size | filesize:suffix}}`
})
class TestComponent {
suffix;
size = 123456789;
}
let component : TestComponent;
let fixture : ComponentFixture<TestComponent>;
let el: HTMLElement;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [
FileSizePipe,
TestComponent
]
});
fixture = TestBed.createComponent(TestComponent);
component = fixture.componentInstance;
el = fixture.nativeElement;
fixture.detectChanges();
});
it('should convert bytes to megabytes', () => {
expect(el.textContent).toContain('size: 117.74MB');
component.size = 1029281;
fixture.detectChanges();
expect(el.textContent).toContain('size: 0.98MB');
});
it('should use the default extension when not supplied', () => {
component.suffix = 'myExt';
fixture.detectChanges();
expect(el.textContent).toContain('size: 117.74myExt');
});
});
});