Files
oidc-client-rx/src/provide-auth.spec.ts

93 lines
2.7 KiB
TypeScript

import { TestBed } from '@/testing';
import { mockProvider } from '@/testing/mock';
import { of } from 'rxjs';
import { PASSED_CONFIG } from './auth-config';
import { ConfigurationService } from './config/config.service';
import {
StsConfigHttpLoader,
StsConfigLoader,
StsConfigStaticLoader,
} from './config/loader/config-loader';
import { provideAuth } from './provide-auth';
describe('provideAuth', () => {
describe('APP_CONFIG', () => {
beforeEach(async () => {
await TestBed.configureTestingModule({
providers: [
provideAuth({ config: { authority: 'something' } }),
mockProvider(ConfigurationService),
],
}).compileComponents();
});
it('should provide config', () => {
const config = TestBed.inject(PASSED_CONFIG);
expect(config).toEqual({ config: { authority: 'something' } });
});
it('should create StsConfigStaticLoader if config is passed', () => {
const configLoader = TestBed.inject(StsConfigLoader);
expect(configLoader instanceof StsConfigStaticLoader).toBe(true);
});
});
describe('StsConfigHttpLoader', () => {
beforeEach(async () => {
await TestBed.configureTestingModule({
providers: [
provideAuth({
loader: {
provide: StsConfigLoader,
useFactory: () => new StsConfigHttpLoader(of({})),
},
}),
mockProvider(ConfigurationService),
],
}).compileComponents();
});
it('should create StsConfigStaticLoader if config is passed', () => {
const configLoader = TestBed.inject(StsConfigLoader);
expect(configLoader instanceof StsConfigHttpLoader).toBe(true);
});
});
// describe('features', () => {
// let oidcSecurityServiceMock: OidcSecurityService;
// let spy: any;
// beforeEach(async () => {
// //@ts-ignore
// oidcSecurityServiceMock = new (mockClass(OidcSecurityService))();
// spy = vi.spyOn(oidcSecurityServiceMock, 'checkAuthMultiple');
// await TestBed.configureTestingModule({
// providers: [
// provideAuth(
// { config: { authority: 'something' } },
// withAppInitializerAuthCheck()
// ),
// mockProvider(ConfigurationService),
// {
// provide: OidcSecurityService,
// useValue: oidcSecurityServiceMock,
// },
// ],
// }).compileComponents();
// });
// it('should provide APP_INITIALIZER config', () => {
// const config = TestBed.inject(APP_INITIALIZER);
// expect(
// config.length,
// 'Expected an APP_INITIALIZER to be registered'
// ).toBe(1);
// expect(spy).toHaveBeenCalledTimes(1);
// });
// });
});