mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-20 16:42:56 +00:00
test: adjust tests to config init changes
This commit is contained in:
@@ -35,6 +35,7 @@ import packageJson from '../../../../package.json';
|
||||
describe('ConfigProvider', () => {
|
||||
let configProvider: ConfigProvider;
|
||||
let storageProviderSpy: jasmine.SpyObj<StorageProvider>;
|
||||
let ngxLogger: jasmine.SpyObj<NGXLogger>;
|
||||
|
||||
beforeEach(() => {
|
||||
const storageProviderMethodSpy = jasmine.createSpyObj('StorageProvider', [
|
||||
@@ -46,10 +47,7 @@ describe('ConfigProvider', () => {
|
||||
const webHttpClientMethodSpy = jasmine.createSpyObj('StAppsWebHttpClient', [
|
||||
'request',
|
||||
]);
|
||||
const ngxLogger: jasmine.SpyObj<NGXLogger> = jasmine.createSpyObj(
|
||||
'NGXLogger',
|
||||
['log', 'error', 'warn'],
|
||||
);
|
||||
ngxLogger = jasmine.createSpyObj('NGXLogger', ['log', 'error', 'warn']);
|
||||
|
||||
TestBed.configureTestingModule({
|
||||
imports: [],
|
||||
@@ -112,27 +110,6 @@ describe('ConfigProvider', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('should init from storage when remote fails', async () => {
|
||||
storageProviderSpy.has.and.returnValue(Promise.resolve(true));
|
||||
storageProviderSpy.get.and.returnValue(
|
||||
Promise.resolve(sampleIndexResponse),
|
||||
);
|
||||
spyOn(configProvider.client, 'handshake').and.throwError('');
|
||||
// eslint-disable-next-line unicorn/error-message
|
||||
let error = new Error('');
|
||||
try {
|
||||
await configProvider.init();
|
||||
} catch (error_) {
|
||||
error = error_;
|
||||
}
|
||||
expect(error).toEqual(new ConfigFetchError());
|
||||
expect(storageProviderSpy.has).toHaveBeenCalled();
|
||||
expect(storageProviderSpy.get).toHaveBeenCalled();
|
||||
expect(await configProvider.getValue('name')).toEqual(
|
||||
sampleIndexResponse.app.name,
|
||||
);
|
||||
});
|
||||
|
||||
it('should throw error on failed initialisation', async () => {
|
||||
storageProviderSpy.has.and.returnValue(Promise.resolve(false));
|
||||
spyOn(configProvider.client, 'handshake').and.throwError('');
|
||||
@@ -154,14 +131,14 @@ describe('ConfigProvider', () => {
|
||||
spyOn(configProvider.client, 'handshake').and.returnValue(
|
||||
Promise.resolve(sampleIndexResponse),
|
||||
);
|
||||
// eslint-disable-next-line unicorn/no-null
|
||||
let error = null;
|
||||
try {
|
||||
await configProvider.init();
|
||||
} catch (error_) {
|
||||
error = error_;
|
||||
}
|
||||
expect(error).toEqual(new WrongConfigVersionInStorage(scVersion, '0.1.0'));
|
||||
await configProvider.init();
|
||||
|
||||
expect(ngxLogger.warn).toHaveBeenCalledWith(
|
||||
new WrongConfigVersionInStorage(
|
||||
configProvider.scVersion,
|
||||
wrongConfig.backend.SCVersion,
|
||||
),
|
||||
);
|
||||
});
|
||||
|
||||
it('should throw error on saved app configuration not available', async () => {
|
||||
@@ -203,13 +180,15 @@ describe('ConfigProvider', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('should return app configuration value if only saved config is available and fetch fails', async () => {
|
||||
it('should init from storage when remote fails', async () => {
|
||||
storageProviderSpy.has.and.returnValue(Promise.resolve(true));
|
||||
storageProviderSpy.get.and.returnValue(
|
||||
Promise.resolve(sampleIndexResponse),
|
||||
);
|
||||
spyOn(configProvider.client, 'handshake').and.throwError('');
|
||||
expect(await configProvider.getValue('name')).toEqual(
|
||||
await configProvider.init();
|
||||
|
||||
expect(configProvider.getValue('name')).toEqual(
|
||||
sampleIndexResponse.app.name,
|
||||
);
|
||||
});
|
||||
|
||||
@@ -133,7 +133,6 @@ export class ConfigProvider {
|
||||
this.scVersion,
|
||||
this.config.backend.SCVersion,
|
||||
);
|
||||
this.logger.warn(loadError);
|
||||
}
|
||||
} catch (error) {
|
||||
loadError = error;
|
||||
@@ -154,7 +153,7 @@ export class ConfigProvider {
|
||||
this.logger.warn(loadError);
|
||||
}
|
||||
if (typeof fetchError !== 'undefined') {
|
||||
throw fetchError;
|
||||
this.logger.warn(fetchError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user