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') }) })