11import { expect , test } from '@/e2e/helper' ;
2+ import { loadFixtures } from '@crates-io/msw/fixtures' ;
23
34test . describe ( 'Acceptance | crates page' , { tag : '@acceptance' } , ( ) => {
45 // should match the default set in the crates controller
56 const per_page = 50 ;
67
7- test ( 'visiting the crates page from the front page' , async ( { page, mirage, percy, a11y } ) => {
8- await mirage . addHook ( server => {
9- server . loadFixtures ( ) ;
10- } ) ;
8+ test ( 'visiting the crates page from the front page' , async ( { page, msw, percy, a11y } ) => {
9+ loadFixtures ( msw . db ) ;
1110
1211 await page . goto ( '/' ) ;
1312 await page . click ( '[data-test-all-crates-link]' ) ;
@@ -19,10 +18,8 @@ test.describe('Acceptance | crates page', { tag: '@acceptance' }, () => {
1918 await a11y . audit ( ) ;
2019 } ) ;
2120
22- test ( 'visiting the crates page directly' , async ( { page, mirage } ) => {
23- await mirage . addHook ( server => {
24- server . loadFixtures ( ) ;
25- } ) ;
21+ test ( 'visiting the crates page directly' , async ( { page, msw } ) => {
22+ loadFixtures ( msw . db ) ;
2623
2724 await page . goto ( '/crates' ) ;
2825 await page . click ( '[data-test-all-crates-link]' ) ;
@@ -31,29 +28,25 @@ test.describe('Acceptance | crates page', { tag: '@acceptance' }, () => {
3128 await expect ( page ) . toHaveTitle ( 'Crates - crates.io: Rust Package Registry' ) ;
3229 } ) ;
3330
34- test ( 'listing crates' , async ( { page, mirage } ) => {
35- await mirage . addHook ( server => {
36- const per_page = 50 ;
37- for ( let i = 1 ; i <= per_page ; i ++ ) {
38- let crate = server . create ( 'crate' ) ;
39- server . create ( 'version' , { crate } ) ;
40- }
41- } ) ;
31+ test ( 'listing crates' , async ( { page, msw } ) => {
32+ const per_page = 50 ;
33+ for ( let i = 1 ; i <= per_page ; i ++ ) {
34+ let crate = msw . db . crate . create ( ) ;
35+ msw . db . version . create ( { crate } ) ;
36+ }
4237
4338 await page . goto ( '/crates' ) ;
4439
4540 await expect ( page . locator ( '[data-test-crates-nav] [data-test-current-rows]' ) ) . toHaveText ( `1-${ per_page } ` ) ;
4641 await expect ( page . locator ( '[data-test-crates-nav] [data-test-total-rows]' ) ) . toHaveText ( `${ per_page } ` ) ;
4742 } ) ;
4843
49- test ( 'navigating to next page of crates' , async ( { page, mirage } ) => {
50- await mirage . addHook ( server => {
51- const per_page = 50 ;
52- for ( let i = 1 ; i <= per_page + 2 ; i ++ ) {
53- let crate = server . create ( 'crate' ) ;
54- server . create ( 'version' , { crate } ) ;
55- }
56- } ) ;
44+ test ( 'navigating to next page of crates' , async ( { page, msw } ) => {
45+ const per_page = 50 ;
46+ for ( let i = 1 ; i <= per_page + 2 ; i ++ ) {
47+ let crate = msw . db . crate . create ( ) ;
48+ msw . db . version . create ( { crate } ) ;
49+ }
5750 const page_start = per_page + 1 ;
5851 const total = per_page + 2 ;
5952
@@ -65,29 +58,23 @@ test.describe('Acceptance | crates page', { tag: '@acceptance' }, () => {
6558 await expect ( page . locator ( '[data-test-crates-nav] [data-test-total-rows]' ) ) . toHaveText ( `${ total } ` ) ;
6659 } ) ;
6760
68- test ( 'crates default sort is alphabetical' , async ( { page, mirage } ) => {
69- await mirage . addHook ( server => {
70- server . loadFixtures ( ) ;
71- } ) ;
61+ test ( 'crates default sort is alphabetical' , async ( { page, msw } ) => {
62+ loadFixtures ( msw . db ) ;
7263
7364 await page . goto ( '/crates' ) ;
7465
7566 await expect ( page . locator ( '[data-test-crates-sort] [data-test-current-order]' ) ) . toHaveText ( 'Recent Downloads' ) ;
7667 } ) ;
7768
78- test ( 'downloads appears for each crate on crate list' , async ( { page, mirage } ) => {
79- await mirage . addHook ( server => {
80- server . loadFixtures ( ) ;
81- } ) ;
69+ test ( 'downloads appears for each crate on crate list' , async ( { page, msw } ) => {
70+ loadFixtures ( msw . db ) ;
8271
8372 await page . goto ( '/crates' ) ;
8473 await expect ( page . locator ( '[data-test-crate-row="0"] [data-test-downloads]' ) ) . toHaveText ( 'All-Time: 21,573' ) ;
8574 } ) ;
8675
87- test ( 'recent downloads appears for each crate on crate list' , async ( { page, mirage } ) => {
88- await mirage . addHook ( server => {
89- server . loadFixtures ( ) ;
90- } ) ;
76+ test ( 'recent downloads appears for each crate on crate list' , async ( { page, msw } ) => {
77+ loadFixtures ( msw . db ) ;
9178
9279 await page . goto ( '/crates' ) ;
9380 await expect ( page . locator ( '[data-test-crate-row="0"] [data-test-recent-downloads]' ) ) . toHaveText ( 'Recent: 2,000' ) ;
0 commit comments