mirror of
https://github.com/nextcloud/server.git
synced 2026-04-22 14:50:17 -04:00
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
/**
|
|
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
import { beforeEach, describe, expect, test, vi } from 'vitest'
|
|
import { manageToken, setToken } from '../../OC/requesttoken.js'
|
|
|
|
const eventbus = vi.hoisted(() => ({ emit: vi.fn() }))
|
|
vi.mock('@nextcloud/event-bus', () => eventbus)
|
|
|
|
describe('request token', () => {
|
|
|
|
let emit
|
|
let manager
|
|
const token = 'abc123'
|
|
|
|
beforeEach(() => {
|
|
emit = vi.fn()
|
|
const head = window.document.getElementsByTagName('head')[0]
|
|
head.setAttribute('data-requesttoken', token)
|
|
|
|
manager = manageToken(window.document, emit)
|
|
})
|
|
|
|
test('reads the token from the document', () => {
|
|
expect(manager.getToken()).toBe('abc123')
|
|
})
|
|
|
|
test('remembers the updated token', () => {
|
|
manager.setToken('bca321')
|
|
|
|
expect(manager.getToken()).toBe('bca321')
|
|
})
|
|
|
|
describe('@nextcloud/auth integration', () => {
|
|
test('fires off an event for @nextcloud/auth', () => {
|
|
setToken('123')
|
|
|
|
expect(eventbus.emit).toHaveBeenCalledWith('csrf-token-update', { token: '123' })
|
|
})
|
|
})
|
|
|
|
})
|