describe('Oil Reference Excel Export', () => { let adminToken before(() => { cy.getAdminToken().then(token => { adminToken = token }) }) beforeEach(() => { cy.visit('/oils', { onBeforeLoad(win) { win.localStorage.setItem('oil_auth_token', adminToken) } }) cy.get('.oil-chip, .oils-grid', { timeout: 10000 }).should('exist') }) it('shows the Excel export button for admins', () => { cy.contains('button', '📥 导出Excel').should('be.visible') }) it('clicking Excel export shows success toast', () => { cy.window().then(win => { cy.stub(win.HTMLAnchorElement.prototype, 'click').returns(undefined) }) cy.contains('button', '📥 导出Excel').click() cy.get('.toast', { timeout: 10000 }).should('contain', '导出成功') }) })