Skip to content

Commit 468fcdd

Browse files
committed
improve tests setup
1 parent c1a1c18 commit 468fcdd

File tree

2 files changed

+50
-16
lines changed

2 files changed

+50
-16
lines changed

tests/collection.test.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -212,22 +212,6 @@ describe('Testing Collection', () => {
212212
myCollection.collect({ thing: 'lol', id: 0 })
213213
expect(myCollection.size).toBe(2)
214214
})
215-
test(
216-
'Does decaying data work?',
217-
(ctx) =>
218-
new Promise((resolve) => {
219-
decayingUsers.collect({ firstName: 'Bill', userId: '0' })
220-
expect(decayingUsers.value.length).toBe(1)
221-
expect(decayingUsers.value[0].firstName).toBe('Bill')
222-
expect(decayingUsers.value[0].userId).toBe('0')
223-
setTimeout(() => {
224-
expect(decayingUsers.value.length).toBe(0)
225-
console.log('done! Thing is decayed!')
226-
resolve(true)
227-
}, DEFAULT_DECAY_RATE + 10)
228-
}),
229-
DEFAULT_DECAY_RATE + 100
230-
)
231215
})
232216
describe('testing collection groups', () => {
233217
test('Do Groups Work?', () => {

tests/timed.test.ts

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import { describe, test } from 'vitest'
2+
import { DEFAULT_DECAY_RATE, decayingUsers } from './test-utils'
3+
4+
describe('Ephemeral Collection data', () => {
5+
test(
6+
'Does decaying data work?',
7+
(ctx) =>
8+
new Promise((resolve) => {
9+
decayingUsers.collect({ firstName: 'Bill', userId: '0' })
10+
expect(decayingUsers.value.length).toBe(1)
11+
expect(decayingUsers.value[0].firstName).toBe('Bill')
12+
expect(decayingUsers.value[0].userId).toBe('0')
13+
setTimeout(() => {
14+
expect(decayingUsers.value.length).toBe(0)
15+
console.log('done! Thing is decayed!')
16+
resolve(true)
17+
}, DEFAULT_DECAY_RATE + 10)
18+
}),
19+
DEFAULT_DECAY_RATE + 100
20+
)
21+
test(
22+
'Does decaying data refresh on set?',
23+
(ctx) =>
24+
new Promise((resolve) => {
25+
decayingUsers.collect({ firstName: 'Bill', userId: '0' })
26+
expect(decayingUsers.value.length).toBe(1)
27+
expect(decayingUsers.value[0].firstName).toBe('Bill')
28+
expect(decayingUsers.value[0].userId).toBe('0')
29+
// recollecting should reset the decay timer
30+
setTimeout(() => {
31+
expect(decayingUsers.value.length).toBe(1)
32+
decayingUsers.collect({ firstName: 'Bill', userId: '0' })
33+
}, DEFAULT_DECAY_RATE - 10)
34+
// so if we wait a bit, it should still be there
35+
setTimeout(() => {
36+
console.log('wtfff')
37+
expect(decayingUsers.value.length).toBe(1)
38+
}, DEFAULT_DECAY_RATE + 10)
39+
// and then it should decay past the decay rate
40+
setTimeout(() => {
41+
expect(decayingUsers.value.length).toBe(0)
42+
console.log('done! Thing is decayed!')
43+
resolve(true)
44+
}, DEFAULT_DECAY_RATE * 2 + 10)
45+
}),
46+
{
47+
timeout: DEFAULT_DECAY_RATE * 2 + 100,
48+
}
49+
)
50+
})

0 commit comments

Comments
 (0)