|
|
@@ -117,6 +117,17 @@ export default class ComputeEngineServiceMock { |
|
|
|
); |
|
|
|
}); |
|
|
|
|
|
|
|
results.sort((a, b) => { |
|
|
|
const getMaxDate = (t: Task) => |
|
|
|
Math.max( |
|
|
|
+new Date(t.submittedAt), |
|
|
|
+new Date(t.startedAt ?? 0), |
|
|
|
+new Date(t.executedAt ?? 0) |
|
|
|
); |
|
|
|
|
|
|
|
return getMaxDate(b) - getMaxDate(a); |
|
|
|
}); |
|
|
|
|
|
|
|
if (data.onlyCurrents) { |
|
|
|
// This is more complex in real life, but it's a good enough approximation to suit tests. |
|
|
|
results = Object.values(groupBy(results, (t) => t.componentKey)) |
|
|
@@ -125,13 +136,14 @@ export default class ComputeEngineServiceMock { |
|
|
|
} |
|
|
|
|
|
|
|
const page = data.p ?? 1; |
|
|
|
const paginationIndex = (page - 1) * PAGE_SIZE; |
|
|
|
const pageSize = data.ps ?? PAGE_SIZE; |
|
|
|
const paginationIndex = (page - 1) * pageSize; |
|
|
|
|
|
|
|
return Promise.resolve({ |
|
|
|
tasks: results.slice(paginationIndex, paginationIndex + PAGE_SIZE), |
|
|
|
tasks: results.slice(paginationIndex, paginationIndex + pageSize), |
|
|
|
paging: { |
|
|
|
pageIndex: page, |
|
|
|
pageSize: PAGE_SIZE, |
|
|
|
pageSize, |
|
|
|
total: results.length, |
|
|
|
}, |
|
|
|
}); |