This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects
Commit b844bd97 authored by Michael Breu's avatar Michael Breu
Browse files

starting with jest test

parent e684bcfd
Branches
2 merge requests!231New Deployment into production and update gitlab,!225Resolve "Collections mehr hervorheben"
import { HttpClientModule } from '@angular/common/http';
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { TranslateModule } from '@ngx-translate/core';
import { ApplicationConfigService } from 'app/core/config/application-config.service';
import { LocalStorageService, SessionStorageService } from 'ngx-webstorage';
import { ExerciseService } from './exercise.service';
describe('ExerciseService', () => {
let service: ExerciseService;
let httpMock: HttpTestingController;
let applicationConfigService: ApplicationConfigService;
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule, HttpClientModule, TranslateModule.forRoot(), RouterTestingModule],
declarations: [],
providers: [ApplicationConfigService, LocalStorageService, SessionStorageService],
});
applicationConfigService = TestBed.inject(ApplicationConfigService);
service = TestBed.inject(ExerciseService);
httpMock = TestBed.inject(HttpTestingController);
});
it('should inject', () => {
expect(service).toBeTruthy();
});
it('test Caching', () => {
let isInvoked443 = 0;
let isInvoked444 = 0;
service.loadExercise('443').subscribe(() => {
isInvoked443++;
});
service.loadExercise('444').subscribe(() => {
isInvoked444++;
});
expect(isInvoked443).toEqual(0); // still waiting for response
expect(isInvoked444).toEqual(0); // still waiting for response
const testRequest443 = httpMock.expectOne({
method: 'GET',
url: applicationConfigService.getEndpointFor('api/exercise/443'),
});
const testRequest444 = httpMock.expectOne({
method: 'GET',
url: applicationConfigService.getEndpointFor('api/exercise/444'),
});
testRequest443.flush({
kaese: 'kaese',
});
testRequest444.flush({
kaese: 'kaese',
});
expect(isInvoked443).toEqual(1);
expect(isInvoked444).toEqual(1);
service.loadExercise('444').subscribe(() => {
isInvoked444++;
});
expect(isInvoked444).toEqual(3); // result was returned immediately from cache
expect(isInvoked443).toEqual(2);
httpMock.expectNone({});
});
});
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment