import { describe, it, expect } from 'vitest'
import { lockScroll } from '@/hooks/use-body-scroll-lock'

describe('lockScroll (KAR-708 body-scroll-lock)', () => {
  it('sets overflow to hidden and restores the previous value', () => {
    const style = { overflow: 'scroll' }
    const restore = lockScroll(style)
    expect(style.overflow).toBe('hidden')
    restore()
    expect(style.overflow).toBe('scroll')
  })

  it('restores an empty previous value', () => {
    const style = { overflow: '' }
    const restore = lockScroll(style)
    expect(style.overflow).toBe('hidden')
    restore()
    expect(style.overflow).toBe('')
  })

  it('nested locks restore in reverse order without losing the original value', () => {
    const style = { overflow: '' }
    const outer = lockScroll(style)
    const inner = lockScroll(style)
    inner()
    expect(style.overflow).toBe('hidden')
    outer()
    expect(style.overflow).toBe('')
  })
})
