mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-20 08:33:11 +00:00
refactor: replace TSLint with ESLint
This commit is contained in:
committed by
Jovan Krunić
parent
67fb4a43c9
commit
d696215d08
@@ -1,3 +1,4 @@
|
||||
/* eslint-disable @typescript-eslint/no-non-null-assertion,@typescript-eslint/ban-ts-comment,@typescript-eslint/no-explicit-any */
|
||||
/*
|
||||
* Copyright (C) 2018, 2019 StApps
|
||||
* This program is free software: you can redistribute it and/or modify it
|
||||
@@ -15,8 +16,17 @@
|
||||
import {TestBed} from '@angular/core/testing';
|
||||
import {Client} from '@openstapps/api/lib/client';
|
||||
import {
|
||||
SCDish, SCMessage, SCMultiSearchRequest, SCSaveableThing, SCSearchQuery,
|
||||
SCSearchResponse, SCSearchValueFilter, SCThing, SCThingOriginType, SCThings, SCThingType,
|
||||
SCDish,
|
||||
SCMessage,
|
||||
SCMultiSearchRequest,
|
||||
SCSaveableThing,
|
||||
SCSearchQuery,
|
||||
SCSearchResponse,
|
||||
SCSearchValueFilter,
|
||||
SCThing,
|
||||
SCThingOriginType,
|
||||
SCThings,
|
||||
SCThingType,
|
||||
} from '@openstapps/core';
|
||||
import {sampleThingsMap} from '../../_helpers/data/sample-things';
|
||||
import {StorageProvider} from '../storage/storage.provider';
|
||||
@@ -66,15 +76,16 @@ describe('DataProvider', () => {
|
||||
type: SCThingType.Message,
|
||||
uid: sampleThing.uid,
|
||||
};
|
||||
const otherSampleThing: SCMessage = {...sampleThing, uid: 'message-456', name: 'bar'};
|
||||
const otherSampleThing: SCMessage = {
|
||||
...sampleThing,
|
||||
uid: 'message-456',
|
||||
name: 'bar',
|
||||
};
|
||||
|
||||
beforeEach(async () => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [DataModule],
|
||||
providers: [
|
||||
DataProvider,
|
||||
StAppsWebHttpClient,
|
||||
],
|
||||
providers: [DataProvider, StAppsWebHttpClient],
|
||||
});
|
||||
storageProvider = TestBed.get(StorageProvider);
|
||||
dataProvider = TestBed.get(DataProvider);
|
||||
@@ -128,26 +139,29 @@ describe('DataProvider', () => {
|
||||
};
|
||||
|
||||
dataProvider.backendQueriesLimit = 2;
|
||||
spyOn(Client.prototype as any, 'multiSearch').and.callFake((req: SCMultiSearchRequest) => ({
|
||||
then: (callback: any) => {
|
||||
let i = 0;
|
||||
for (const key in req) {
|
||||
if (req.hasOwnProperty(key)) {
|
||||
i++;
|
||||
// @ts-ignore
|
||||
expect(requestCheck[key]).not.toBeNull();
|
||||
expect(requestCheck[key]).toEqual(req[key]);
|
||||
// @ts-ignore
|
||||
requestCheck[key] = null;
|
||||
// @ts-ignore
|
||||
req[key] = req[key].toUpperCase();
|
||||
spyOn(Client.prototype as any, 'multiSearch').and.callFake(
|
||||
(request_: SCMultiSearchRequest) => ({
|
||||
then: (callback: any) => {
|
||||
let i = 0;
|
||||
for (const key in request_) {
|
||||
if (request_.hasOwnProperty(key)) {
|
||||
i++;
|
||||
// @ts-ignore
|
||||
expect(requestCheck[key]).not.toBeNull();
|
||||
expect(requestCheck[key]).toEqual(request_[key]);
|
||||
// @ts-ignore
|
||||
// eslint-disable-next-line unicorn/no-null
|
||||
requestCheck[key] = null;
|
||||
// @ts-ignore
|
||||
request_[key] = request_[key].toUpperCase();
|
||||
}
|
||||
}
|
||||
}
|
||||
expect(i).toBeLessThanOrEqual(dataProvider.backendQueriesLimit);
|
||||
expect(i).toBeLessThanOrEqual(dataProvider.backendQueriesLimit);
|
||||
|
||||
return callback(req);
|
||||
},
|
||||
}));
|
||||
return callback(request_);
|
||||
},
|
||||
}),
|
||||
);
|
||||
|
||||
const response = await dataProvider.multiSearch(request);
|
||||
expect(response).toEqual(responseShould);
|
||||
@@ -155,10 +169,12 @@ describe('DataProvider', () => {
|
||||
|
||||
it('should put an data item into the local database (storage)', async () => {
|
||||
let providedThing: SCSaveableThing<SCThing>;
|
||||
spyOn(storageProvider, 'put' as any).and.callFake((_id: any, thing: any) => {
|
||||
providedThing = thing;
|
||||
providedThing.origin.created = sampleSavable.origin.created;
|
||||
});
|
||||
spyOn(storageProvider, 'put' as any).and.callFake(
|
||||
(_id: any, thing: any) => {
|
||||
providedThing = thing;
|
||||
providedThing.origin.created = sampleSavable.origin.created;
|
||||
},
|
||||
);
|
||||
expect(storageProvider.put).not.toHaveBeenCalled();
|
||||
expect(providedThing!).not.toBeDefined();
|
||||
await dataProvider.put(sampleThing);
|
||||
@@ -170,9 +186,14 @@ describe('DataProvider', () => {
|
||||
await dataProvider.put(sampleThing);
|
||||
spyOn(storageProvider, 'get').and.callThrough();
|
||||
expect(storageProvider.get).not.toHaveBeenCalled();
|
||||
const providedThing = await dataProvider.get(sampleThing.uid, DataScope.Local);
|
||||
const providedThing = await dataProvider.get(
|
||||
sampleThing.uid,
|
||||
DataScope.Local,
|
||||
);
|
||||
providedThing.origin.created = sampleSavable.origin.created;
|
||||
expect(storageProvider.get).toHaveBeenCalledWith(dataProvider.getDataKey(sampleThing.uid));
|
||||
expect(storageProvider.get).toHaveBeenCalledWith(
|
||||
dataProvider.getDataKey(sampleThing.uid),
|
||||
);
|
||||
expect(providedThing).toEqual(sampleSavable);
|
||||
});
|
||||
|
||||
@@ -180,11 +201,16 @@ describe('DataProvider', () => {
|
||||
await dataProvider.put(sampleThing);
|
||||
await dataProvider.put(otherSampleThing);
|
||||
const result = await dataProvider.getAll();
|
||||
expect(Array.from(result.keys()).sort()).toEqual([
|
||||
dataProvider.getDataKey(sampleThing.uid), dataProvider.getDataKey(otherSampleThing.uid),
|
||||
expect([...result.keys()].sort()).toEqual([
|
||||
dataProvider.getDataKey(sampleThing.uid),
|
||||
dataProvider.getDataKey(otherSampleThing.uid),
|
||||
]);
|
||||
expect(result.get(dataProvider.getDataKey(sampleThing.uid))!.data).toEqual(sampleThing);
|
||||
expect(result.get(dataProvider.getDataKey(otherSampleThing.uid))!.data).toEqual(otherSampleThing);
|
||||
expect(result.get(dataProvider.getDataKey(sampleThing.uid))!.data).toEqual(
|
||||
sampleThing,
|
||||
);
|
||||
expect(
|
||||
result.get(dataProvider.getDataKey(otherSampleThing.uid))!.data,
|
||||
).toEqual(otherSampleThing);
|
||||
});
|
||||
|
||||
it('should provide single data from the backend', async () => {
|
||||
@@ -196,7 +222,10 @@ describe('DataProvider', () => {
|
||||
};
|
||||
});
|
||||
expect(Client.prototype.getThing).not.toHaveBeenCalled();
|
||||
const providedThing = await dataProvider.get(sampleThing.uid, DataScope.Remote);
|
||||
const providedThing = await dataProvider.get(
|
||||
sampleThing.uid,
|
||||
DataScope.Remote,
|
||||
);
|
||||
expect(Client.prototype.getThing).toHaveBeenCalledWith(sampleThing.uid);
|
||||
expect(providedThing).toBe(sampleThing);
|
||||
});
|
||||
@@ -226,7 +255,9 @@ describe('DataProvider', () => {
|
||||
await dataProvider.put(sampleThing);
|
||||
expect(await storageProvider.length()).toBe(1);
|
||||
await dataProvider.delete(sampleThing.uid);
|
||||
expect(storageProvider.delete).toHaveBeenCalledWith(dataProvider.getDataKey(sampleThing.uid));
|
||||
expect(storageProvider.delete).toHaveBeenCalledWith(
|
||||
dataProvider.getDataKey(sampleThing.uid),
|
||||
);
|
||||
expect(await storageProvider.length()).toBe(0);
|
||||
});
|
||||
|
||||
@@ -242,7 +273,7 @@ describe('DataProvider', () => {
|
||||
dataProvider.getDataKey(otherSampleThing.uid),
|
||||
);
|
||||
const result = await storageProvider.getAll();
|
||||
expect(Array.from(result.keys())).toEqual(['some-uid']);
|
||||
expect([...result.keys()]).toEqual(['some-uid']);
|
||||
});
|
||||
|
||||
it('should properly check if a data item has already been saved', async () => {
|
||||
|
||||
Reference in New Issue
Block a user