overleaf/services/web/test/frontend/shared/utils/url-helper.test.js
Timothée Alby 44eca312ff Merge pull request #6053 from overleaf/ta-pdf-detach-tests
PDF Detach Misc Tests

GitOrigin-RevId: 9615c8fdfd8964a9c63d7c91e4596d397a1d35dc
2021-12-15 09:04:46 +00:00

53 lines
1.7 KiB
JavaScript

import { expect } from 'chai'
import sinon from 'sinon'
import { buildUrlWithDetachRole } from '../../../../frontend/js/shared/utils/url-helper'
describe('url-helper', function () {
let locationStub
describe('buildUrlWithDetachRole', function () {
beforeEach(function () {
locationStub = sinon.stub(window, 'location')
})
afterEach(function () {
locationStub.restore()
})
describe('without mode', function () {
it('removes trailing slash', function () {
locationStub.value('https://www.ovelreaf.com/project/1abc/')
expect(buildUrlWithDetachRole().href).to.equal(
'https://www.ovelreaf.com/project/1abc'
)
})
it('clears the mode from the current URL', function () {
locationStub.value('https://www.ovelreaf.com/project/2abc/detached')
expect(buildUrlWithDetachRole().href).to.equal(
'https://www.ovelreaf.com/project/2abc'
)
locationStub.value('https://www.ovelreaf.com/project/2abc/detacher/')
expect(buildUrlWithDetachRole().href).to.equal(
'https://www.ovelreaf.com/project/2abc'
)
})
})
describe('with mode', function () {
it('handles with trailing slash', function () {
locationStub.value('https://www.ovelreaf.com/project/3abc/')
expect(buildUrlWithDetachRole('detacher').href).to.equal(
'https://www.ovelreaf.com/project/3abc/detacher'
)
})
it('handles without trailing slash', function () {
locationStub.value('https://www.ovelreaf.com/project/4abc')
expect(buildUrlWithDetachRole('detached').href).to.equal(
'https://www.ovelreaf.com/project/4abc/detached'
)
})
})
})
})