feat: Update templates and generators to support ACP

This commit is contained in:
Joachim Van Herwegen
2022-08-19 11:12:02 +02:00
parent 728617ac77
commit 40f2c8ea42
41 changed files with 800 additions and 271 deletions

View File

@@ -0,0 +1,26 @@
import type { ResourceIdentifier } from '../../../../src/http/representation/ResourceIdentifier';
import type { Resource } from '../../../../src/pods/generate/ResourcesGenerator';
import { StaticFolderGenerator } from '../../../../src/pods/generate/StaticFolderGenerator';
import type { TemplatedResourcesGenerator } from '../../../../src/pods/generate/TemplatedResourcesGenerator';
describe('A StaticFolderGenerator', (): void => {
const location: ResourceIdentifier = { path: 'http://example.com/foo' };
const options = { foo: 'bar' };
const folder = '/data/templates/';
let source: jest.Mocked<TemplatedResourcesGenerator>;
const response: AsyncIterable<Resource> = {} as any;
let generator: StaticFolderGenerator;
beforeEach(async(): Promise<void> => {
source = {
generate: jest.fn().mockReturnValue(response),
};
generator = new StaticFolderGenerator(source, folder);
});
it('calls the source generator with the stored template folder.', async(): Promise<void> => {
expect(generator.generate(location, options)).toBe(response);
expect(source.generate).toHaveBeenCalledTimes(1);
expect(source.generate).toHaveBeenLastCalledWith(folder, location, options);
});
});