70 lines
2.2 KiB
JavaScript
70 lines
2.2 KiB
JavaScript
import { loginWithFixtures } from '../support/intercept';
|
|
|
|
describe('File Operations', () => {
|
|
beforeEach(() => {
|
|
loginWithFixtures();
|
|
cy.visit('/files');
|
|
cy.wait('@getFiles');
|
|
});
|
|
|
|
it('file list table has sortable columns', () => {
|
|
// Check that table headers exist with expected columns
|
|
cy.get('table').within(() => {
|
|
cy.contains('th', 'Name').should('exist');
|
|
cy.contains('th', 'Dependency').should('exist');
|
|
cy.contains('th', 'File Type').should('exist');
|
|
cy.contains('th', 'Owner').should('exist');
|
|
cy.contains('th', 'Last Update').should('exist');
|
|
});
|
|
});
|
|
|
|
it('clicking column header sorts the table', () => {
|
|
// Click "Name" header to sort
|
|
cy.contains('th', 'Name').click();
|
|
// After sorting, table should still have data
|
|
cy.get('table tbody tr').should('have.length.greaterThan', 0);
|
|
});
|
|
|
|
it('table rows show file data from fixture', () => {
|
|
cy.get('table tbody').within(() => {
|
|
cy.contains('sample-process.xes').should('exist');
|
|
cy.contains('filtered-sample').should('exist');
|
|
cy.contains('production-log.csv').should('exist');
|
|
});
|
|
});
|
|
|
|
it('table shows owner names', () => {
|
|
cy.get('table tbody').within(() => {
|
|
cy.contains('Test Admin').should('exist');
|
|
cy.contains('Alice Wang').should('exist');
|
|
});
|
|
});
|
|
|
|
it('table shows file types', () => {
|
|
cy.get('table tbody').within(() => {
|
|
cy.contains('log').should('exist');
|
|
});
|
|
});
|
|
|
|
it('right-click on file row shows context menu', () => {
|
|
// PrimeVue DataTable with contextmenu
|
|
cy.get('table tbody tr').first().rightclick();
|
|
// Context menu behavior depends on implementation
|
|
// Just verify the right-click doesn't break anything
|
|
cy.get('table tbody tr').should('have.length.greaterThan', 0);
|
|
});
|
|
|
|
it('grid view shows file cards', () => {
|
|
// Switch to grid view
|
|
cy.get('svg').parent('li.cursor-pointer').last().click();
|
|
// Grid cards should be visible
|
|
cy.get('li[title]').should('have.length.greaterThan', 0);
|
|
});
|
|
|
|
it('Import button opens upload modal', () => {
|
|
cy.get('#import_btn').click();
|
|
// Upload modal should appear
|
|
cy.get('#import_btn').should('exist');
|
|
});
|
|
});
|