Skip to content

Commit

Permalink
test(set): add a couple of interceptor tests
Browse files Browse the repository at this point in the history
  • Loading branch information
k-g-a committed Feb 19, 2025
1 parent 1b6b87d commit 5ba9dc3
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions packages/mobx/__tests__/v5/base/set.js
Original file line number Diff line number Diff line change
Expand Up @@ -474,3 +474,48 @@ describe("Observable Set methods are reactive", () => {
expect(c).toBe(3)
})
})


describe("Observable Set interceptors", () => {

let s = set()

beforeEach(() => {
s = set()
})

test("Add does not add value if interceptor returned no change", () => {
mobx.intercept(s, (change) => {
if(change.type === 'add' && change.newValue === 2) {
return undefined;
}

return change;
})

s.add(1);
s.add(2);

expect([...s]).toStrictEqual([1]);


})

test("Add respects newValue from interceptor", () => {

mobx.intercept(s, (change) => {
if(change.type === 'add' && change.newValue === 2) {
change.newValue = 10;
}

return change;
})

s.add(1);
s.add(2);

expect([...s]).toStrictEqual([1, 10])
})


})

0 comments on commit 5ba9dc3

Please sign in to comment.