switch to vitest and get some actual results!

This commit is contained in:
Chris Kruining 2025-02-19 15:55:59 +11:00
parent 4a367d2457
commit 3ef8940137
No known key found for this signature in database
GPG key ID: EB894A3560CCCAD2
9 changed files with 246 additions and 36 deletions

View file

@ -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