MCPcopy
hub / github.com/tinyplex/tinybase / testCustomComponents

Function testCustomComponents

test/unit/core/ui-common/components.ts:90–453  ·  view source on GitHub ↗
(
  framework: string,
  harness: ComponentHarness,
  components: CustomComponents,
)

Source from the content-addressed store, hash-verified

88 .setValues({v1: 3, v2: 4});
89
90export const testCustomComponents = (
91 framework: string,
92 harness: ComponentHarness,
93 components: CustomComponents,
94): void => {
95 let store: Store;
96
97 beforeEach(() => {
98 store = createTestStore();
99 });
100
101 describe(`${framework} custom component scenarios`, () => {
102 test('tables, rows, and cells', async () => {
103 let rendered = harness.render(components.TablesView, {
104 store,
105 cellPrefix: ':',
106 });
107 expect(rendered.container.textContent).toEqual(
108 't1:r1:c1:1t2:r1:c1:2r2:c1:3c2:4',
109 );
110 await harness.act(() => store.setCell('t1', 'r1', 'c1', 2));
111 expect(rendered.container.textContent).toEqual(
112 't1:r1:c1:2t2:r1:c1:2r2:c1:3c2:4',
113 );
114 await harness.act(() => store.delTables());
115 expect(rendered.container.textContent).toEqual('');
116 rendered.unmount();
117
118 store = createTestStore();
119 rendered = harness.render(components.TableView, {
120 store,
121 tableId: 't0',
122 cellPrefix: ':',
123 });
124 expect(rendered.container.textContent).toEqual('t0:');
125 await rendered.rerender({tableId: 't2'});
126 expect(rendered.container.textContent).toEqual('t2:r1:c1:2r2:c1:3c2:4');
127 await harness.act(() => store.setCell('t2', 'r1', 'c1', 3));
128 expect(rendered.container.textContent).toEqual('t2:r1:c1:3r2:c1:3c2:4');
129 await harness.act(() => store.delTables());
130 expect(rendered.container.textContent).toEqual('t2:');
131 rendered.unmount();
132
133 store = createTestStore();
134 rendered = harness.render(components.SortedTableView, {
135 store,
136 tableId: 't0',
137 cellId: 'c0',
138 descending: true,
139 cellPrefix: ':',
140 });
141 expect(rendered.container.textContent).toEqual('t0,c0:');
142 await rendered.rerender({tableId: 't2', cellId: 'c1'});
143 expect(rendered.container.textContent).toEqual(
144 't2,c1:r2:c1:3c2:4r1:c1:2',
145 );
146 await harness.act(() => store.setCell('t2', 'r1', 'c1', 3));
147 expect(rendered.container.textContent).toEqual(

Callers 3

components.test.tsFile · 0.90

Calls 14

createTestStoreFunction · 0.85
setCellMethod · 0.65
delTablesMethod · 0.65
setValueMethod · 0.65
delValuesMethod · 0.65
setMetricDefinitionMethod · 0.65
setIndexDefinitionMethod · 0.65
setTablesMethod · 0.65
delTableMethod · 0.65
setQueryDefinitionMethod · 0.65
testFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…