describe('Admin Flow', () => {
  const ADMIN_TOKEN = 'c86ae7afbe10fabe3c1d5e1a7fee74feaadfd5dc7be2ab62'

  beforeEach(() => {
    cy.visit('/', {
      onBeforeLoad(win) {
        win.localStorage.setItem('oil_auth_token', ADMIN_TOKEN)
      }
    })
    cy.get('.nav-tab', { timeout: 10000 }).should('have.length.gte', 6)
  })

  it('shows admin-only tabs', () => {
    cy.get('.nav-tab').contains('操作日志').should('be.visible')
    cy.get('.nav-tab').contains('Bug').should('be.visible')
    cy.get('.nav-tab').contains('用户管理').should('be.visible')
  })

  it('can access manage recipes page', () => {
    cy.get('.nav-tab').contains('管理配方').click()
    cy.url().should('include', '/manage')
  })

  it('can access audit log page', () => {
    cy.get('.nav-tab').contains('操作日志').click()
    cy.url().should('include', '/audit')
    cy.contains('操作日志').should('be.visible')
  })

  it('can access user management page', () => {
    cy.get('.nav-tab').contains('用户管理').click()
    cy.url().should('include', '/users')
    cy.contains('用户管理').should('be.visible')
  })

  it('can access bug tracker page', () => {
    cy.get('.nav-tab').contains('Bug').click()
    cy.url().should('include', '/bugs')
    cy.contains('Bug').should('be.visible')
  })
})
