import { describe, it, expect } from 'vitest'
import { runStorageConformance } from './storage-conformance.js'
import { createMemoryStorage } from './storage-memory.js'

runStorageConformance('memory', () => createMemoryStorage())

describe('createMemoryStorage specifics', () => {
  it('presignGet returns a GET capability (memory loopback)', async () => {
    const s = createMemoryStorage()
    const url = await s.presignGet!('media/x', { expiresIn: 30 })
    expect(url.method).toBe('GET')
    expect(url.url.startsWith('memory://')).toBe(true)
  })

  it('accepts a Blob body and reads it back', async () => {
    const s = createMemoryStorage()
    await s.put('media/blob', new Blob([new Uint8Array([9, 9])]))
    const head = await s.head('media/blob')
    expect(head?.size).toBe(2)
  })
})
