import React from 'react';
import { describe, it, expect } from 'vitest';
import { render, screen } from '@testing-library/react';
import { MemoryRouter } from 'react-router-dom';
import { I18nextProvider } from 'react-i18next';
import { ThemeProvider } from '@/app/providers/ThemeProvider';
import '@testing-library/jest-dom';
import { ProjectSubnav } from '@/features/projects/components/ProjectSubnav';
import i18n from '@/locales/i18n';

function renderSubnav(path = '/projects/p1') {
  return render(
    <I18nextProvider i18n={i18n}>
      <ThemeProvider>
        <MemoryRouter initialEntries={[path]}>
          <ProjectSubnav projectId="p1" />
        </MemoryRouter>
      </ThemeProvider>
    </I18nextProvider>,
  );
}

describe('ProjectSubnav', () => {
  it('shows six core tabs in workflow order', () => {
    renderSubnav();
    const tabs = screen.getAllByRole('tab');
    expect(tabs.map((t) => t.textContent?.trim())).toEqual([
      'Overview',
      'Backlog',
      'Sprints',
      'Team',
      'Board',
      'More',
    ]);
  });

  it('does not show advanced pages as top-level tabs', () => {
    renderSubnav();
    expect(screen.queryByRole('tab', { name: /Settings/i })).not.toBeInTheDocument();
    expect(screen.queryByRole('tab', { name: /Gantt/i })).not.toBeInTheDocument();
    expect(screen.queryByRole('tab', { name: /Reports/i })).not.toBeInTheDocument();
  });
});
