Skip to content

Commit 31a22b5

Browse files
committed
Avoid changing existing tests
Rewrites the tests to preserve the original tests and adds new tests to document the added functionality.
1 parent d14e878 commit 31a22b5

1 file changed

Lines changed: 36 additions & 7 deletions

File tree

test/test.js

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,24 @@ describe('session-resume', function () {
1313

1414
describe('restoreResumableFields', function () {
1515
it('restores fields values from session storage', function () {
16+
sessionStorage.setItem('session-resume:test-persist', JSON.stringify([['my-first-field', 'test2']]))
17+
restoreResumableFields('test-persist')
18+
19+
assert.equal(document.querySelector('#my-first-field').value, 'test2')
20+
assert.equal(document.querySelector('#my-second-field').value, 'second-field-value')
21+
})
22+
23+
it('leaves unrestored values in session storage', function () {
1624
sessionStorage.setItem(
1725
'session-resume:test-persist',
1826
JSON.stringify([
1927
['my-first-field', 'test2'],
2028
['non-existant-field', 'test3']
2129
])
2230
)
31+
document.querySelector('#my-first-field').value = 'first-field-value'
32+
document.querySelector('#my-second-field').value = 'second-field-value'
33+
2334
restoreResumableFields('test-persist')
2435

2536
assert.equal(document.querySelector('#my-first-field').value, 'test2')
@@ -67,13 +78,18 @@ describe('session-resume', function () {
6778

6879
describe('persistResumableFields', function () {
6980
it('persist fields values to session storage', function () {
70-
sessionStorage.setItem(
71-
'session-resume:test-persist',
72-
JSON.stringify([
73-
['my-first-field', 'old data'],
74-
['non-existant-field', 'test3']
75-
])
76-
)
81+
document.querySelector('#my-first-field').value = 'test1'
82+
document.querySelector('#my-second-field').value = 'test2'
83+
persistResumableFields('test-persist')
84+
85+
assert.deepEqual(JSON.parse(sessionStorage.getItem('session-resume:test-persist')), [
86+
['my-first-field', 'test1'],
87+
['my-second-field', 'test2']
88+
])
89+
})
90+
91+
it('holds onto existing values in the store', function () {
92+
sessionStorage.setItem('session-resume:test-persist', JSON.stringify([['non-existant-field', 'test3']]))
7793
document.querySelector('#my-first-field').value = 'test1'
7894
document.querySelector('#my-second-field').value = 'test2'
7995

@@ -85,5 +101,18 @@ describe('session-resume', function () {
85101
['non-existant-field', 'test3']
86102
])
87103
})
104+
105+
it('replaces old values with the latest field values', function () {
106+
sessionStorage.setItem('session-resume:test-persist', JSON.stringify([['my-first-field', 'old data']]))
107+
document.querySelector('#my-first-field').value = 'test1'
108+
document.querySelector('#my-second-field').value = 'test2'
109+
110+
persistResumableFields('test-persist')
111+
112+
assert.deepEqual(JSON.parse(sessionStorage.getItem('session-resume:test-persist')), [
113+
['my-first-field', 'test1'],
114+
['my-second-field', 'test2']
115+
])
116+
})
88117
})
89118
})

0 commit comments

Comments
 (0)