Skip to content

Commit 897fc5e

Browse files
authored
Merge pull request #138 from NoelDeMartin/patch-1
Implement stopTrackingSession method
2 parents 11fb397 + 68e7beb commit 897fc5e

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/__test__/solid-auth-client.spec.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,24 @@ describe('trackSession', () => {
411411
})
412412
})
413413

414+
describe('stopTrackSession', () => {
415+
it('does not call callback on session change', async () => {
416+
expect.assertions(4)
417+
418+
const callback = jest.fn()
419+
await instance.trackSession(callback)
420+
expect(callback).toHaveBeenCalledTimes(1)
421+
expect(callback).toHaveBeenLastCalledWith(null)
422+
423+
instance.stopTrackSession(callback)
424+
425+
const session = {}
426+
instance.emit('session', session)
427+
expect(callback).toHaveBeenCalledTimes(1)
428+
expect(callback).toHaveBeenLastCalledWith(null)
429+
})
430+
})
431+
414432
describe('logout', () => {
415433
describe('WebID-OIDC', () => {
416434
let expectedIdToken, expectedAccessToken

src/solid-auth-client.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ export default class SolidAuthClient extends EventEmitter {
8686
this.on('session', callback)
8787
}
8888

89+
stopTrackSession(callback: Function): void {
90+
this.removeListener('session', callback)
91+
}
92+
8993
async logout(storage: AsyncStorage = defaultStorage()): Promise<void> {
9094
const session = await getSession(storage)
9195
if (session) {

0 commit comments

Comments
 (0)