1- import { test , expect } from '@/e2e/helper' ;
1+ import { expect , test } from '@/e2e/helper' ;
2+ import { loadFixtures } from '@crates-io/msw/fixtures' ;
3+ import { http , HttpResponse } from 'msw' ;
24
35test . describe ( 'Acceptance | crate dependencies page' , { tag : '@acceptance' } , ( ) => {
4- test ( 'shows the lists of dependencies' , async ( { page, mirage, percy, a11y } ) => {
5- await mirage . addHook ( server => {
6- server . loadFixtures ( ) ;
7- } ) ;
6+ test ( 'shows the lists of dependencies' , async ( { page, msw, percy, a11y } ) => {
7+ loadFixtures ( msw . db ) ;
88
99 await page . goto ( '/crates/nanomsg/dependencies' ) ;
1010 await expect ( page ) . toHaveURL ( '/crates/nanomsg/0.6.1/dependencies' ) ;
@@ -18,11 +18,9 @@ test.describe('Acceptance | crate dependencies page', { tag: '@acceptance' }, ()
1818 await a11y . audit ( ) ;
1919 } ) ;
2020
21- test ( 'empty list case' , async ( { page, mirage } ) => {
22- await mirage . addHook ( server => {
23- let crate = server . create ( 'crate' , { name : 'nanomsg' } ) ;
24- server . create ( 'version' , { crate, num : '0.6.1' } ) ;
25- } ) ;
21+ test ( 'empty list case' , async ( { page, msw } ) => {
22+ let crate = msw . db . crate . create ( { name : 'nanomsg' } ) ;
23+ msw . db . version . create ( { crate, num : '0.6.1' } ) ;
2624
2725 await page . goto ( '/crates/nanomsg/dependencies' ) ;
2826
@@ -41,10 +39,8 @@ test.describe('Acceptance | crate dependencies page', { tag: '@acceptance' }, ()
4139 await expect ( page . locator ( '[data-test-try-again]' ) ) . toHaveCount ( 0 ) ;
4240 } ) ;
4341
44- test ( 'shows an error page if crate fails to load' , async ( { page, mirage } ) => {
45- await mirage . addHook ( server => {
46- server . get ( '/api/v1/crates/:crate_name' , { } , 500 ) ;
47- } ) ;
42+ test ( 'shows an error page if crate fails to load' , async ( { page, msw } ) => {
43+ await msw . worker . use ( http . get ( '/api/v1/crates/:crate_name' , ( ) => HttpResponse . json ( { } , { status : 500 } ) ) ) ;
4844
4945 await page . goto ( '/crates/foo/1.0.0/dependencies' ) ;
5046 await expect ( page ) . toHaveURL ( '/crates/foo/1.0.0/dependencies' ) ;
@@ -54,11 +50,9 @@ test.describe('Acceptance | crate dependencies page', { tag: '@acceptance' }, ()
5450 await expect ( page . locator ( '[data-test-try-again]' ) ) . toBeVisible ( ) ;
5551 } ) ;
5652
57- test ( 'shows an error page if version is not found' , async ( { page, mirage } ) => {
58- await mirage . addHook ( server => {
59- let crate = server . create ( 'crate' , { name : 'foo' } ) ;
60- server . create ( 'version' , { crate, num : '2.0.0' } ) ;
61- } ) ;
53+ test ( 'shows an error page if version is not found' , async ( { page, msw } ) => {
54+ let crate = msw . db . crate . create ( { name : 'foo' } ) ;
55+ msw . db . version . create ( { crate, num : '2.0.0' } ) ;
6256
6357 await page . goto ( '/crates/foo/1.0.0/dependencies' ) ;
6458 await expect ( page ) . toHaveURL ( '/crates/foo/1.0.0/dependencies' ) ;
@@ -68,12 +62,10 @@ test.describe('Acceptance | crate dependencies page', { tag: '@acceptance' }, ()
6862 await expect ( page . locator ( '[data-test-try-again]' ) ) . toHaveCount ( 0 ) ;
6963 } ) ;
7064
71- test ( 'shows an error page if versions fail to load' , async ( { page, mirage, ember } ) => {
72- await mirage . addHook ( server => {
73- let crate = server . create ( 'crate' , { name : 'foo' } ) ;
74- server . create ( 'version' , { crate, num : '2.0.0' } ) ;
75- server . get ( '/api/v1/crates/:crate_name/versions' , { } , 500 ) ;
76- } ) ;
65+ test ( 'shows an error page if versions fail to load' , async ( { page, msw, ember } ) => {
66+ let crate = msw . db . crate . create ( { name : 'foo' } ) ;
67+ msw . db . version . create ( { crate, num : '2.0.0' } ) ;
68+ await msw . worker . use ( http . get ( '/api/v1/crates/:crate_name/versions' , ( ) => HttpResponse . json ( { } , { status : 500 } ) ) ) ;
7769
7870 await page . goto ( '/crates/foo/1.0.0/dependencies' ) ;
7971
@@ -84,13 +76,12 @@ test.describe('Acceptance | crate dependencies page', { tag: '@acceptance' }, ()
8476 await expect ( page . locator ( '[data-test-try-again]' ) ) . toBeVisible ( ) ;
8577 } ) ;
8678
87- test ( 'shows error message if loading of dependencies fails' , async ( { page, mirage } ) => {
88- await mirage . addHook ( server => {
89- let crate = server . create ( 'crate' , { name : 'foo' } ) ;
90- server . create ( 'version' , { crate, num : '1.0.0' } ) ;
79+ test ( 'shows error message if loading of dependencies fails' , async ( { page, msw } ) => {
80+ let crate = msw . db . crate . create ( { name : 'foo' } ) ;
81+ msw . db . version . create ( { crate, num : '1.0.0' } ) ;
9182
92- server . get ( '/api/v1/crates/:crate_name/:version_num/dependencies' , { } , 500 ) ;
93- } ) ;
83+ let error = HttpResponse . json ( { } , { status : 500 } ) ;
84+ await msw . worker . use ( http . get ( '/api/v1/crates/:crate_name/:version_num/dependencies' , ( ) => error ) ) ;
9485
9586 await page . goto ( '/crates/foo/1.0.0/dependencies' ) ;
9687 await expect ( page ) . toHaveURL ( '/crates/foo/1.0.0/dependencies' ) ;
@@ -100,21 +91,20 @@ test.describe('Acceptance | crate dependencies page', { tag: '@acceptance' }, ()
10091 await expect ( page . locator ( '[data-test-try-again]' ) ) . toBeVisible ( ) ;
10192 } ) ;
10293
103- test ( 'hides description if loading of dependency details fails' , async ( { page, mirage } ) => {
104- await mirage . addHook ( server => {
105- let crate = server . create ( 'crate' , { name : 'nanomsg' } ) ;
106- let version = server . create ( 'version' , { crate, num : '0.6.1' } ) ;
94+ test ( 'hides description if loading of dependency details fails' , async ( { page, msw } ) => {
95+ let crate = msw . db . crate . create ( { name : 'nanomsg' } ) ;
96+ let version = msw . db . version . create ( { crate, num : '0.6.1' } ) ;
10797
108- let foo = server . create ( 'crate' , { name : 'foo' , description : 'This is the foo crate' } ) ;
109- server . create ( 'version' , { crate : foo , num : '1.0.0' } ) ;
110- server . create ( 'dependency' , { crate : foo , version, req : '^1.0.0' , kind : 'normal' } ) ;
98+ let foo = msw . db . crate . create ( { name : 'foo' , description : 'This is the foo crate' } ) ;
99+ msw . db . version . create ( { crate : foo , num : '1.0.0' } ) ;
100+ msw . db . dependency . create ( { crate : foo , version, req : '^1.0.0' , kind : 'normal' } ) ;
111101
112- let bar = server . create ( 'crate' , { name : 'bar' , description : 'This is the bar crate' } ) ;
113- server . create ( 'version' , { crate : bar , num : '2.3.4' } ) ;
114- server . create ( 'dependency' , { crate : bar , version, req : '^2.0.0' , kind : 'normal' } ) ;
102+ let bar = msw . db . crate . create ( { name : 'bar' , description : 'This is the bar crate' } ) ;
103+ msw . db . version . create ( { crate : bar , num : '2.3.4' } ) ;
104+ msw . db . dependency . create ( { crate : bar , version, req : '^2.0.0' , kind : 'normal' } ) ;
115105
116- server . get ( '/api/v1/crates' , { } , 500 ) ;
117- } ) ;
106+ let error = HttpResponse . json ( { } , { status : 500 } ) ;
107+ await msw . worker . use ( http . get ( '/api/v1/crates' , ( ) => error ) ) ;
118108
119109 await page . goto ( '/crates/nanomsg/dependencies' ) ;
120110 await expect ( page ) . toHaveURL ( '/crates/nanomsg/0.6.1/dependencies' ) ;
0 commit comments