mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
feat(store): lit bindings (#289)
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user