1+ // spec: specs/plan.md
2+ // seed: tests/seed.spec.ts
3+
4+ import { test , expect } from '@playwright/test' ;
5+
6+ test . describe ( 'Index' , ( ) => {
7+ test ( 'Display of main tables on homepage' , async ( { page } ) => {
8+ // Given the user navigates to the homepage
9+ await page . goto ( 'http://localhost:5173/arbitrum-mainnet' ) ;
10+
11+ // Then 5 tables are displayed
12+ await expect ( page . getByText ( 'Latest deals' ) ) . toBeVisible ( ) ;
13+ await expect ( page . getByText ( 'Latest tasks' ) ) . toBeVisible ( ) ;
14+ await expect ( page . getByText ( 'Most pertinent apps' ) ) . toBeVisible ( ) ;
15+ await expect ( page . getByText ( 'Latest datasets deployed' ) ) . toBeVisible ( ) ;
16+ await expect ( page . getByText ( 'Most pertinent workerpools' ) ) . toBeVisible ( ) ;
17+
18+ // And the Deals table contains all expected columns
19+ await expect ( page . getByRole ( 'columnheader' , { name : 'Deal' } ) ) . toBeVisible ( ) ;
20+ await expect ( page . getByRole ( 'columnheader' , { name : 'App' } ) ) . toBeVisible ( ) ;
21+ await expect ( page . getByRole ( 'columnheader' , { name : 'Workerpool' } ) . first ( ) ) . toBeVisible ( ) ;
22+ await expect ( page . getByRole ( 'columnheader' , { name : 'Dataset' } ) . first ( ) ) . toBeVisible ( ) ;
23+ await expect ( page . getByRole ( 'columnheader' , { name : 'Time' } ) . first ( ) ) . toBeVisible ( ) ;
24+ await expect ( page . getByRole ( 'columnheader' , { name : 'Success' } ) ) . toBeVisible ( ) ;
25+ await expect ( page . getByRole ( 'columnheader' , { name : 'Price' } ) ) . toBeVisible ( ) ;
26+
27+ // And the Tasks table contains all expected columns
28+ await expect ( page . getByRole ( 'columnheader' , { name : 'Task' } ) ) . toBeVisible ( ) ;
29+ await expect ( page . getByRole ( 'columnheader' , { name : 'Status' } ) ) . toBeVisible ( ) ;
30+ await expect ( page . getByRole ( 'columnheader' , { name : 'Deadline' } ) ) . toBeVisible ( ) ;
31+
32+ // And the Apps table contains all expected columns
33+ await expect ( page . getByRole ( 'columnheader' , { name : 'Address' } ) . first ( ) ) . toBeVisible ( ) ;
34+ await expect ( page . getByRole ( 'columnheader' , { name : 'Name' } ) . first ( ) ) . toBeVisible ( ) ;
35+ await expect ( page . getByRole ( 'columnheader' , { name : 'Owner' } ) . first ( ) ) . toBeVisible ( ) ;
36+ await expect ( page . getByRole ( 'columnheader' , { name : 'TxHash' } ) . first ( ) ) . toBeVisible ( ) ;
37+
38+ // And the Datasets table contains all expected columns
39+ await expect ( page . getByRole ( 'columnheader' , { name : 'Dataset' } ) . first ( ) ) . toBeVisible ( ) ;
40+ await expect ( page . getByRole ( 'columnheader' , { name : 'Type' } ) ) . toBeVisible ( ) ;
41+
42+ // And the Workerpools table contains all expected columns
43+ await expect ( page . getByRole ( 'columnheader' , { name : 'Workerpool' } ) . nth ( 1 ) ) . toBeVisible ( ) ;
44+ await expect ( page . getByRole ( 'columnheader' , { name : 'Description' } ) ) . toBeVisible ( ) ;
45+ } ) ;
46+ } ) ;
0 commit comments