Add done() to async tests

This commit is contained in:
Nathan Buckingham
2023-02-07 13:59:57 -05:00
parent 369ffac39e
commit 9435f1c4a7
3 changed files with 21 additions and 11 deletions

View File

@@ -18,17 +18,19 @@ describe(`BrowserAuthRequestService`, () => {
}); });
describe(`createShortLivedTokenRequest`, () => { describe(`createShortLivedTokenRequest`, () => {
it(`should return a PostRequest`, () => { it(`should return a PostRequest`, (done) => {
const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>; const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>;
obs.subscribe((result: PostRequest) => { obs.subscribe((result: PostRequest) => {
expect(result.constructor.name).toBe('PostRequest'); expect(result.constructor.name).toBe('PostRequest');
done();
}); });
}); });
it(`should return a request with the given href`, () => { it(`should return a request with the given href`, (done) => {
const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>; const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>;
obs.subscribe((result: PostRequest) => { obs.subscribe((result: PostRequest) => {
expect(result.href).toBe(href); expect(result.href).toBe(href);
done();
}); });
}); });
}); });

View File

@@ -3,9 +3,12 @@ import { RequestService } from '../data/request.service';
import { ServerAuthRequestService } from './server-auth-request.service'; import { ServerAuthRequestService } from './server-auth-request.service';
import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http'; import { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';
import { Observable, of as observableOf } from 'rxjs'; import { Observable, of as observableOf } from 'rxjs';
import { XSRF_RESPONSE_HEADER } from '../xsrf/xsrf.interceptor';
import { HALEndpointService } from '../shared/hal-endpoint.service'; import { HALEndpointService } from '../shared/hal-endpoint.service';
import { PostRequest } from '../data/request.models'; import { PostRequest } from '../data/request.models';
import {
XSRF_REQUEST_HEADER,
XSRF_RESPONSE_HEADER
} from '../xsrf/xsrf.interceptor';
describe(`ServerAuthRequestService`, () => { describe(`ServerAuthRequestService`, () => {
let href: string; let href: string;
@@ -21,9 +24,11 @@ describe(`ServerAuthRequestService`, () => {
requestService = jasmine.createSpyObj('requestService', { requestService = jasmine.createSpyObj('requestService', {
'generateRequestId': '8bb0582d-5013-4337-af9c-763beb25aae2' 'generateRequestId': '8bb0582d-5013-4337-af9c-763beb25aae2'
}); });
let headers = new HttpHeaders();
headers = headers.set(XSRF_RESPONSE_HEADER, mockToken);
httpResponse = { httpResponse = {
body: { bar: false }, body: { bar: false },
headers: new HttpHeaders({ XSRF_RESPONSE_HEADER: mockToken }), headers: headers,
statusText: '200' statusText: '200'
} as HttpResponse<any>; } as HttpResponse<any>;
httpClient = jasmine.createSpyObj('httpClient', { httpClient = jasmine.createSpyObj('httpClient', {
@@ -36,24 +41,27 @@ describe(`ServerAuthRequestService`, () => {
}); });
describe(`createShortLivedTokenRequest`, () => { describe(`createShortLivedTokenRequest`, () => {
it(`should return a PostRequest`, () => { it(`should return a PostRequest`, (done) => {
const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>; const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>;
obs.subscribe((result: PostRequest) => { obs.subscribe((result: PostRequest) => {
expect(result.constructor.name).toBe('PostRequest'); expect(result.constructor.name).toBe('PostRequest');
done();
}); });
}); });
it(`should return a request with the given href`, () => { it(`should return a request with the given href`, (done) => {
const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>; const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>;
obs.subscribe((result: PostRequest) => { obs.subscribe((result: PostRequest) => {
expect(result.href).toBe(href) ; expect(result.href).toBe(href);
done();
}); });
}); });
it(`should return a request with a xsrf header`, () => { it(`should return a request with a xsrf header`, (done) => {
const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>; const obs = (service as any).createShortLivedTokenRequest(href) as Observable<PostRequest>;
obs.subscribe((result: PostRequest) => { obs.subscribe((result: PostRequest) => {
expect(result.options.headers.get(XSRF_RESPONSE_HEADER)).toBe(mockToken); expect(result.options.headers.get(XSRF_REQUEST_HEADER)).toBe(mockToken);
done();
}); });
}); });
}); });

View File

@@ -52,14 +52,14 @@ export class ServerAuthRequestService extends AuthRequestService {
.set('Cookie', `${DSPACE_XSRF_COOKIE}=${xsrfToken}`)), .set('Cookie', `${DSPACE_XSRF_COOKIE}=${xsrfToken}`)),
map((headers: HttpHeaders) => map((headers: HttpHeaders) =>
// Create a new PostRequest using those headers and the given href // Create a new PostRequest using those headers and the given href
Object.assign(new PostRequest( new PostRequest(
this.requestService.generateRequestId(), this.requestService.generateRequestId(),
href, href,
{}, {},
{ {
headers: headers, headers: headers,
}, },
),{}) )
) )
); );
} }