* feat(snjs): add revisions api v2 * fix(snjs): reference listing and getting revisions in specs * fix(snjs): revisions specs * fix(web): usage of revision metadata * fix(snjs): add specs for decryption revision * fix(snjs): issue with building mocked specs * fix(snjs): adjust revision creation delay
50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import { RevisionClientInterface } from '@standardnotes/services'
|
|
|
|
import { DeleteRevision } from './DeleteRevision'
|
|
|
|
describe('DeleteRevision', () => {
|
|
let revisionManager: RevisionClientInterface
|
|
|
|
const createUseCase = () => new DeleteRevision(revisionManager)
|
|
|
|
beforeEach(() => {
|
|
revisionManager = {} as jest.Mocked<RevisionClientInterface>
|
|
revisionManager.deleteRevision = jest.fn()
|
|
})
|
|
|
|
it('should delete revision', async () => {
|
|
const useCase = createUseCase()
|
|
|
|
const result = await useCase.execute({
|
|
itemUuid: '00000000-0000-0000-0000-000000000000',
|
|
revisionUuid: '00000000-0000-0000-0000-000000000000',
|
|
})
|
|
|
|
expect(result.isFailed()).toBe(false)
|
|
})
|
|
|
|
it('should fail if item uuid is invalid', async () => {
|
|
const useCase = createUseCase()
|
|
|
|
const result = await useCase.execute({
|
|
itemUuid: 'invalid',
|
|
revisionUuid: '00000000-0000-0000-0000-000000000000',
|
|
})
|
|
|
|
expect(result.isFailed()).toBe(true)
|
|
expect(result.getError()).toEqual('Could not delete revision: Given value is not a valid uuid: invalid')
|
|
})
|
|
|
|
it('should fail if revision uuid is invalid', async () => {
|
|
const useCase = createUseCase()
|
|
|
|
const result = await useCase.execute({
|
|
itemUuid: '00000000-0000-0000-0000-000000000000',
|
|
revisionUuid: 'invalid',
|
|
})
|
|
|
|
expect(result.isFailed()).toBe(true)
|
|
expect(result.getError()).toEqual('Could not delete revision: Given value is not a valid uuid: invalid')
|
|
})
|
|
})
|