399c998fd7
* feat(multiregion): replace user replication * chore(multiregion): optimise replication * maybe it's this * postgres is fun * once more * chore(multiregion): only replicate test user creation during multiregion tests * feat: improved replicate_query logic * fix: minor * fix: starting issue * feat: included user create and delete specs to multiregion * feat: removed console logs * fix: user defaults * fix: multiregion test helper * fix: update scenarios for users * refactor(multiregion): swap replicateQuery concept to asMultiregionOperation (#5301) feat(multiregion): introduced asMultregionOperator, refactor test to user builder classes * chore: renamings * fix: remove comments * feat: remove user replication * refactor: simplified spec usages * chore: comments * chore: branches and favs * chore: more tests * chore: more tests * fix linting * fix tests * feat: dropping replication * refactor: moved project delete to service * fix: comment * feat: updateStreamFactory and updateProjectFacotry * deleteProjectFactory + replicateFactory * deleteWorkspaceFactory * fix: selector * fix: tests * fix tests, finished createStreamFactory * feat: simplify changes * fix: remove comment * fix: minor strucutres * fix: moveProjectToRegion * fix: moved branch creation outside of multiregion scope * fix: branch creation * fix: tests * fix: ci tests * fix: removed log form test * fix: on specs, no random regionKeys * review fixes * fix: mr comments * feat: removed test --------- Co-authored-by: Charles Driesler <chuck@speckle.systems>
48 lines
1.6 KiB
TypeScript
48 lines
1.6 KiB
TypeScript
import { expect } from 'chai'
|
|
import { responseHandlerFactory } from '@/modules/previews/services/responses'
|
|
import { buildConsumePreviewResult } from '@/modules/previews/resultListener'
|
|
import cryptoRandomString from 'crypto-random-string'
|
|
import { logger } from '@/observability/logging'
|
|
|
|
describe('object preview @previews', () => {
|
|
describe('responseHandlerFactory creates a function, that', () => {
|
|
beforeEach(() => {})
|
|
it('gracefully handles a response for a non-existent (e.g. deleted in meantime) project', async () => {
|
|
const handleResponse = responseHandlerFactory({
|
|
observeMetrics: () => {},
|
|
logger,
|
|
consumePreviewResultBuilder: buildConsumePreviewResult
|
|
})
|
|
let doneCalled = false
|
|
let doneErr: Error | null | undefined = null
|
|
await expect(
|
|
handleResponse(
|
|
{
|
|
data: {
|
|
jobId: `${cryptoRandomString({ length: 10 })}.${cryptoRandomString({
|
|
length: 10
|
|
})}`,
|
|
status: 'success',
|
|
result: {
|
|
durationSeconds: 0,
|
|
loadDurationSeconds: 0,
|
|
renderDurationSeconds: 0,
|
|
screenshots: {
|
|
'0': 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAQMAAAD+wSzIAAAABlBMVEX///+/v7+jQ3Y5AAAADklEQVQI12P4AIX8EAgALgAD/aNpbtEAAAAASUVORK5CYII'
|
|
}
|
|
}
|
|
},
|
|
attemptsMade: 0
|
|
},
|
|
(err) => {
|
|
doneCalled = true
|
|
doneErr = err
|
|
}
|
|
)
|
|
).eventually.be.fulfilled
|
|
expect(doneCalled).to.be.true
|
|
expect(doneErr).to.be.undefined
|
|
})
|
|
})
|
|
})
|