Skip to content

Commit

Permalink
Js: fix some tests
Browse files Browse the repository at this point in the history
  • Loading branch information
GeoSot committed Apr 12, 2021
1 parent ad10f00 commit b892b49
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 14 deletions.
19 changes: 9 additions & 10 deletions js/tests/unit/modal.spec.js
Expand Up @@ -16,19 +16,20 @@ describe('Modal', () => {
clearFixture()

document.body.classList.remove('modal-open')
document.documentElement.removeAttribute('style')
document.body.removeAttribute('style')
document.body.removeAttribute('data-bs-padding-right')

document.querySelectorAll('.modal-backdrop')
.forEach(backdrop => {
document.body.removeChild(backdrop)
})

document.body.style.removeProperty('paddingRight')
})

afterAll(() => {
document.documentElement.style.removeProperty('paddingRight')
beforeEach(() => {
document.documentElement.removeAttribute('style')
document.body.removeAttribute('style')
document.body.removeAttribute('data-bs-padding-right')
})

describe('VERSION', () => {
Expand Down Expand Up @@ -104,15 +105,15 @@ describe('Modal', () => {
const expectedPadding = originalPadding + getScrollBarWidth()
const currentPadding = Number.parseInt(window.getComputedStyle(modalEl).paddingRight, 10)

expect(fixedEl.getAttribute('data-bs-padding-right')).toEqual('0px', 'original fixed element padding should be stored in data-bs-padding-right')
expect(fixedEl.getAttribute('data-bs-padding-right')).toEqual(`${originalPadding}px`, 'original fixed element padding should be stored in data-bs-padding-right')
expect(currentPadding).toEqual(expectedPadding, 'fixed element padding should be adjusted while opening')
modal.toggle()
})

modalEl.addEventListener('hidden.bs.modal', () => {
const currentPadding = Number.parseInt(window.getComputedStyle(modalEl).paddingRight, 10)

expect(fixedEl.getAttribute('data-bs-padding-right')).toEqual(null, 'data-bs-padding-right should be cleared after closing')
expect(fixedEl.hasAttribute('data-bs-padding-right')).toEqual(false, 'data-bs-padding-right should be cleared after closing')
expect(currentPadding).toEqual(originalPadding, 'fixed element padding should be reset after closing')
document.documentElement.style.overflowY = 'auto'
done()
Expand All @@ -138,15 +139,15 @@ describe('Modal', () => {
const expectedMargin = originalMargin - getScrollBarWidth()
const currentMargin = Number.parseInt(window.getComputedStyle(stickyTopEl).marginRight, 10)

expect(stickyTopEl.getAttribute('data-bs-margin-right')).toEqual('0px', 'original sticky element margin should be stored in data-bs-margin-right')
expect(stickyTopEl.getAttribute('data-bs-margin-right')).toEqual(`${originalMargin}px`, 'original sticky element margin should be stored in data-bs-margin-right')
expect(currentMargin).toEqual(expectedMargin, 'sticky element margin should be adjusted while opening')
modal.toggle()
})

modalEl.addEventListener('hidden.bs.modal', () => {
const currentMargin = Number.parseInt(window.getComputedStyle(stickyTopEl).marginRight, 10)

expect(stickyTopEl.getAttribute('data-bs-margin-right')).toEqual(null, 'data-bs-margin-right should be cleared after closing')
expect(stickyTopEl.hasAttribute('data-bs-margin-right')).toEqual(false, 'data-bs-margin-right should be cleared after closing')
expect(currentMargin).toEqual(originalMargin, 'sticky element margin should be reset after closing')

document.documentElement.style.overflowY = 'auto'
Expand Down Expand Up @@ -679,7 +680,6 @@ describe('Modal', () => {

// Restore scrollbars
document.body.style.overflow = 'auto'
document.documentElement.style.paddingRight = '16px'
done()
})

Expand Down Expand Up @@ -711,7 +711,6 @@ describe('Modal', () => {
// Restore overridden css
document.body.style.removeProperty('margin')
document.body.style.removeProperty('overflow')
document.documentElement.style.paddingRight = '16px'
done()
})

Expand Down
11 changes: 10 additions & 1 deletion js/tests/unit/offcanvas.spec.js
Expand Up @@ -14,6 +14,15 @@ describe('Offcanvas', () => {
afterEach(() => {
clearFixture()
document.body.classList.remove('offcanvas-open')
document.documentElement.removeAttribute('style')
document.body.removeAttribute('style')
document.body.removeAttribute('data-bs-padding-right')
})

beforeEach(() => {
document.documentElement.removeAttribute('style')
document.body.removeAttribute('style')
document.body.removeAttribute('data-bs-padding-right')
})

describe('VERSION', () => {
Expand Down Expand Up @@ -177,7 +186,7 @@ describe('Offcanvas', () => {
offCanvas.hide()
})
offCanvasEl.addEventListener('hidden.bs.offcanvas', () => {
expect(document.body.style.overflow).toEqual('auto')
expect(document.body.style.overflow).not.toEqual('hidden')
done()
})
offCanvas.show()
Expand Down
8 changes: 5 additions & 3 deletions js/tests/unit/util/scrollbar.spec.js
Expand Up @@ -28,17 +28,19 @@ describe('ScrollBar', () => {

afterAll(() => {
fixtureEl.remove()
document.documentElement.style.overflowY = 'auto'
document.body.style.overflowY = 'auto'
})

afterEach(() => {
clearFixture()
document.documentElement.removeAttribute('style')
document.documentElement.style.removeProperty('paddingRight')
document.body.removeAttribute('style')
document.body.removeAttribute('data-bs-padding-right')
})

beforeEach(() => {
document.documentElement.removeAttribute('style')
document.body.removeAttribute('style')
document.body.removeAttribute('data-bs-padding-right')
})

describe('isBodyOverflowing', () => {
Expand Down

0 comments on commit b892b49

Please sign in to comment.