Skip to content
Snippets Groups Projects
Commit eff921af authored by Stein Elgethun's avatar Stein Elgethun
Browse files

Add utility functions to set and delete cookies

Issue: GREG-89
parent 2c436668
No related branches found
No related tags found
1 merge request!140Greg 89 login redirect
import { import {
getCookie, getCookie,
deleteCookie,
setCookie,
isValidEmail, isValidEmail,
isValidFnr, isValidFnr,
isValidMobilePhoneNumber, isValidMobilePhoneNumber,
...@@ -77,6 +79,33 @@ test('Get unknown cookie returns null', async () => { ...@@ -77,6 +79,33 @@ test('Get unknown cookie returns null', async () => {
document.cookie = 'csrftoken= ; expires = Thu, 01 Jan 1970 00:00:00 GMT' document.cookie = 'csrftoken= ; expires = Thu, 01 Jan 1970 00:00:00 GMT'
}) })
test('Get known cookie returns value', async () => {
document.cookie = 'key=value'
expect(getCookie('key')).toEqual('value')
document.cookie = 'key= ; expires = Thu, 01, Jan 1970 00:00:00 GMT'
})
test('Deleting cookie removes it', async () => {
document.cookie = 'key=value'
expect(getCookie('key')).toEqual('value')
deleteCookie('key')
expect(getCookie('key')).toEqual(null)
})
test('setCookie creates a cookie with correct value', async () => {
setCookie('key', 'value')
expect(getCookie('key')).toEqual('value')
deleteCookie('key')
})
test('setCookie overrides value that was set before', async () => {
setCookie('key', 'value')
expect(getCookie('key')).toEqual('value')
setCookie('key', 'differentvalue')
expect(getCookie('key')).toEqual('differentvalue')
deleteCookie('key')
})
test('Valid fnr', async () => { test('Valid fnr', async () => {
expect(isValidFnr('04026514903')).toEqual(true) expect(isValidFnr('04026514903')).toEqual(true)
}) })
......
...@@ -23,6 +23,16 @@ export function getCookie(name: string) { ...@@ -23,6 +23,16 @@ export function getCookie(name: string) {
return decodeURIComponent(cookies[0].split('=')[1]) return decodeURIComponent(cookies[0].split('=')[1])
} }
export function setCookie(name: string, value: string) {
document.cookie = `${name}=${value}; path=/`
}
export function deleteCookie(name: string) {
if (getCookie(name)) {
setCookie(name, '; expires=Thu, 01 jan 1970 00:00:00 GMT')
}
}
export function maybeCsrfToken() { export function maybeCsrfToken() {
const csrfToken = getCookie('csrftoken') const csrfToken = getCookie('csrftoken')
if (!csrfToken) { if (!csrfToken) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment