oxios 1.7.0

Oxios Agent OS — Agent Operating System powered by oxi-sdk
import { render, screen } from '@testing-library/react'
import { describe, expect, it } from 'vitest'
import { TierBadge } from '@/components/memory/tier-badge'

// Mock i18next
vi.mock('react-i18next', () => ({
  useTranslation: () => ({
    t: (key: string) => key,
    i18n: { language: 'en' },
  }),
}))

describe('TierBadge', () => {
  it('renders hot tier badge', () => {
    render(<TierBadge tier="hot" />)

    const badge = screen.getByText('memory.hot')
    expect(badge).toBeInTheDocument()
    expect(badge.closest('[class*="bg-error-subtle"]')).toBeInTheDocument()
  })

  it('renders warm tier badge', () => {
    render(<TierBadge tier="warm" />)

    const badge = screen.getByText('memory.warm')
    expect(badge).toBeInTheDocument()
    expect(badge.closest('[class*="bg-warning-subtle"]')).toBeInTheDocument()
  })

  it('renders cold tier badge', () => {
    render(<TierBadge tier="cold" />)

    const badge = screen.getByText('memory.cold')
    expect(badge).toBeInTheDocument()
    expect(badge.closest('[class*="bg-info-subtle"]')).toBeInTheDocument()
  })

  it('renders unknown tier with fallback text', () => {
    render(<TierBadge tier="unknown" />)

    // The t function returns the key, and the fallback is the tier string
    // Since t('memory.unknown', 'unknown') returns 'memory.unknown' (our mock returns key)
    expect(screen.getByText('memory.unknown')).toBeInTheDocument()
  })
})