Files
v10/packages/store/src/lit/controllers/tests/request-controller.test.ts
T

46 lines
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import { createCoreTestStore, createMockHost } from '../../tests/test-utils';
import { RequestController } from '../request-controller';
describe('RequestController', () => {
it('returns request function', () => {
const { store } = createCoreTestStore();
const host = createMockHost();
const controller = new RequestController(host, store, 'setVolume');
expect(typeof controller.value).toBe('function');
});
it('registers with host', () => {
const { store } = createCoreTestStore();
const host = createMockHost();
const controller = new RequestController(host, store, 'setVolume');
expect(host.controllers.has(controller)).toBe(true);
});
it('returns stable reference', () => {
const { store } = createCoreTestStore();
const host = createMockHost();
const controller = new RequestController(host, store, 'setVolume');
const first = controller.value;
const second = controller.value;
expect(first).toBe(second);
});
it('request works correctly', async () => {
const { store, target } = createCoreTestStore();
const host = createMockHost();
const controller = new RequestController(host, store, 'setVolume');
await controller.value(0.7);
expect(target.volume).toBe(0.7);
});
});