mirror of
https://github.com/hanzoai/jest.git
synced 2026-09-24 16:59:57 +00:00
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import {ComponentFixture, TestBed} from '@angular/core/testing';
|
|
import {beforeEach, describe, expect, it, jest} from '@jest/globals';
|
|
import {AppComponent} from './app.component';
|
|
import {DataService} from './shared/data.service';
|
|
|
|
const title = 'Test';
|
|
const getTitleFn = jest.fn(() => title);
|
|
const dataServiceMock: Partial<DataService> = {
|
|
getTitle: getTitleFn,
|
|
};
|
|
|
|
describe('AppComponent', () => {
|
|
let fixture: ComponentFixture<AppComponent>;
|
|
let app: AppComponent;
|
|
|
|
beforeEach(async () => {
|
|
await TestBed.configureTestingModule({
|
|
imports: [AppComponent],
|
|
providers: [{provide: DataService, useValue: dataServiceMock}],
|
|
}).compileComponents();
|
|
fixture = TestBed.createComponent(AppComponent);
|
|
app = fixture.debugElement.componentInstance;
|
|
});
|
|
|
|
it('should create the app', () => {
|
|
expect(app).toBeTruthy();
|
|
});
|
|
|
|
it("should have as title 'angular'", () => {
|
|
expect(app.title).toEqual(title);
|
|
});
|
|
|
|
it('should render title in a h1 tag', () => {
|
|
fixture.detectChanges();
|
|
const compiled = fixture.debugElement.nativeElement;
|
|
expect(compiled.querySelector('h1').textContent).toContain(
|
|
`Welcome to ${title}!`,
|
|
);
|
|
});
|
|
});
|