switch to vitest and get some actual results!
This commit is contained in:
parent
4a367d2457
commit
3ef8940137
9 changed files with 246 additions and 36 deletions
|
@ -1,6 +1,10 @@
|
|||
import { describe, expect, it } from "bun:test";
|
||||
// import { describe, expect, it } from "bun:test";
|
||||
import "@testing-library/jest-dom/vitest";
|
||||
import { createDataSet } from "./index";
|
||||
import { createSignal } from "solid-js";
|
||||
import { createEffect, createSignal } from "solid-js";
|
||||
import { testEffect, } from "@solidjs/testing-library";
|
||||
import { describe, expect } from "vitest";
|
||||
import { it } from '~/test-helpers';
|
||||
|
||||
interface DataEntry {
|
||||
id: string;
|
||||
|
@ -49,6 +53,40 @@ describe('dataset', () => {
|
|||
expect(actual).toEqual(expect.objectContaining({ value: defaultData() }))
|
||||
});
|
||||
|
||||
it('update if the source value changes', () => {
|
||||
const [data, setData] = createSignal([
|
||||
{ id: '1', name: 'a first name', amount: 30 },
|
||||
{ id: '2', name: 'a second name', amount: 20 },
|
||||
{ id: '3', name: 'a third name', amount: 10 },
|
||||
]);
|
||||
const dataset = createDataSet(data);
|
||||
|
||||
dataset.mutateEach(item => ({ ...item, amount: item.amount * 2 }))
|
||||
|
||||
return testEffect(done =>
|
||||
createEffect((run: number = 0) => {
|
||||
data();
|
||||
|
||||
if (run === 0) {
|
||||
setData([
|
||||
{ id: '4', name: 'a first name', amount: 30 },
|
||||
{ id: '5', name: 'a second name', amount: 20 },
|
||||
{ id: '6', name: 'a third name', amount: 10 },
|
||||
]);
|
||||
} else if (run === 1) {
|
||||
expect(dataset.value).toEqual([
|
||||
{ id: '4', name: 'a first name', amount: 60 },
|
||||
{ id: '5', name: 'a second name', amount: 40 },
|
||||
{ id: '6', name: 'a third name', amount: 20 },
|
||||
])
|
||||
|
||||
done()
|
||||
}
|
||||
return run + 1
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
describe('mutate', () => {
|
||||
it('mutates the value', async () => {
|
||||
// Arrange
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue