refactor: Allow IfNeededConverter to short-circuit.

This commit is contained in:
Ruben Verborgh
2021-01-19 21:55:50 +01:00
parent dd9d873122
commit a21532ebf8
3 changed files with 35 additions and 19 deletions

View File

@@ -100,4 +100,17 @@ describe('An IfNeededConverter', (): void => {
expect(innerConverter.handle).toHaveBeenCalledTimes(1);
expect(innerConverter.handle).toHaveBeenCalledWith(args);
});
it('does not support conversion when there is no inner converter.', async(): Promise<void> => {
const emptyConverter = new IfNeededConverter();
const preferences = { type: { 'text/turtle': 0 }};
const args = { identifier, representation, preferences };
await expect(emptyConverter.canHandle(args)).rejects
.toThrow('The content type does not match the preferences');
await expect(emptyConverter.handle(args)).rejects
.toThrow('The content type does not match the preferences');
await expect(emptyConverter.handleSafe(args)).rejects
.toThrow('The content type does not match the preferences');
});
});