Add edit history data access mock
This commit is contained in:
parent
196c7b7873
commit
e682cfa074
67
app/src/api/dataAccess/__mocks__/editHistory.ts
Normal file
67
app/src/api/dataAccess/__mocks__/editHistory.ts
Normal file
@ -0,0 +1,67 @@
|
||||
import { EditHistoryEntry } from '../../../frontend/models/edit-history-entry';
|
||||
import { numDesc } from '../../../helpers';
|
||||
|
||||
const mockEditHistory =
|
||||
jest.genMockFromModule('../editHistory') as typeof import('../editHistory') & {
|
||||
__setHistory: (mockHistoryData: EditHistoryEntry[]) => void
|
||||
};
|
||||
|
||||
let mockData: EditHistoryEntry[] = [];
|
||||
|
||||
mockEditHistory.__setHistory = function(mockHistoryData: EditHistoryEntry[]) {
|
||||
mockData = mockHistoryData;
|
||||
};
|
||||
|
||||
mockEditHistory.getHistoryAfterId = function(id: string, count: number): Promise<EditHistoryEntry[]> {
|
||||
return Promise.resolve(
|
||||
mockData
|
||||
.filter(x => BigInt(x.revision_id) > BigInt(id))
|
||||
.sort(numDesc(x => BigInt(x.revision_id)))
|
||||
.slice(0, count)
|
||||
);
|
||||
};
|
||||
|
||||
mockEditHistory.getHistoryBeforeId = function(id: string, count: number): Promise<EditHistoryEntry[]> {
|
||||
return Promise.resolve(
|
||||
mockData
|
||||
.filter(x => BigInt(x.revision_id) < BigInt(id))
|
||||
.sort(numDesc(x => BigInt(x.revision_id)))
|
||||
.slice(0, count)
|
||||
);
|
||||
};
|
||||
|
||||
mockEditHistory.getLatestHistory = function(count: number): Promise<EditHistoryEntry[]> {
|
||||
return Promise.resolve(
|
||||
mockData
|
||||
.slice(mockData.length - count, mockData.length)
|
||||
.sort(numDesc(x => BigInt(x.revision_id)))
|
||||
);
|
||||
};
|
||||
|
||||
mockEditHistory.getIdNewerThan = async function(id: string): Promise<string> {
|
||||
const historyAfterId = await mockEditHistory.getHistoryAfterId(id, 1);
|
||||
return historyAfterId[historyAfterId.length - 1]?.revision_id;
|
||||
};
|
||||
|
||||
mockEditHistory.getIdOlderThan = async function(id: string): Promise<string> {
|
||||
const historyBeforeId = await mockEditHistory.getHistoryBeforeId(id, 1);
|
||||
return historyBeforeId[0]?.revision_id;
|
||||
};
|
||||
|
||||
const {
|
||||
__setHistory,
|
||||
getHistoryAfterId,
|
||||
getHistoryBeforeId,
|
||||
getLatestHistory,
|
||||
getIdNewerThan,
|
||||
getIdOlderThan
|
||||
} = mockEditHistory;
|
||||
|
||||
export {
|
||||
__setHistory,
|
||||
getHistoryAfterId,
|
||||
getHistoryBeforeId,
|
||||
getLatestHistory,
|
||||
getIdNewerThan,
|
||||
getIdOlderThan
|
||||
};
|
Loading…
Reference in New Issue
Block a user