11import { click , currentURL } from '@ember/test-helpers' ;
22import { module , test } from 'qunit' ;
33
4+ import { http , HttpResponse } from 'msw' ;
5+
46import { setupApplicationTest } from 'crates-io/tests/helpers' ;
57
68import { visit } from '../helpers/visit-ignoring-abort' ;
79
810module ( 'Acceptance | /crates/:crate_id/reverse_dependencies' , function ( hooks ) {
9- setupApplicationTest ( hooks ) ;
11+ setupApplicationTest ( hooks , { msw : true } ) ;
1012
11- function prepare ( { server } ) {
12- let foo = server . create ( 'crate' , { name : 'foo' } ) ;
13- server . create ( 'version' , { crate : foo } ) ;
13+ function prepare ( { db } ) {
14+ let foo = db . crate . create ( { name : 'foo' } ) ;
15+ db . version . create ( { crate : foo } ) ;
1416
15- let bar = server . create ( 'crate' , { name : 'bar' } ) ;
16- server . create ( 'version' , { crate : bar } ) ;
17+ let bar = db . crate . create ( { name : 'bar' } ) ;
18+ let barVersion = db . version . create ( { crate : bar } ) ;
1719
18- let baz = server . create ( 'crate' , { name : 'baz' } ) ;
19- server . create ( 'version' , { crate : baz } ) ;
20+ let baz = db . crate . create ( { name : 'baz' } ) ;
21+ let bazVersion = db . version . create ( { crate : baz } ) ;
2022
21- server . create ( 'dependency' , { crate : foo , version : bar . versions . models [ 0 ] } ) ;
22- server . create ( 'dependency' , { crate : foo , version : baz . versions . models [ 0 ] } ) ;
23+ db . dependency . create ( { crate : foo , version : barVersion } ) ;
24+ db . dependency . create ( { crate : foo , version : bazVersion } ) ;
2325
2426 return { foo, bar, baz } ;
2527 }
@@ -30,19 +32,19 @@ module('Acceptance | /crates/:crate_id/reverse_dependencies', function (hooks) {
3032 await visit ( `/crates/${ foo . name } /reverse_dependencies` ) ;
3133 assert . strictEqual ( currentURL ( ) , `/crates/${ foo . name } /reverse_dependencies` ) ;
3234 assert . dom ( '[data-test-row]' ) . exists ( { count : 2 } ) ;
33- assert . dom ( '[data-test-row="0"] [data-test-crate-name]' ) . hasText ( bar . name ) ;
34- assert . dom ( '[data-test-row="0"] [data-test-description]' ) . hasText ( bar . description ) ;
35- assert . dom ( '[data-test-row="1"] [data-test-crate-name]' ) . hasText ( baz . name ) ;
36- assert . dom ( '[data-test-row="1"] [data-test-description]' ) . hasText ( baz . description ) ;
35+ assert . dom ( '[data-test-row="0"] [data-test-crate-name]' ) . hasText ( baz . name ) ;
36+ assert . dom ( '[data-test-row="0"] [data-test-description]' ) . hasText ( baz . description ) ;
37+ assert . dom ( '[data-test-row="1"] [data-test-crate-name]' ) . hasText ( bar . name ) ;
38+ assert . dom ( '[data-test-row="1"] [data-test-description]' ) . hasText ( bar . description ) ;
3739 } ) ;
3840
3941 test ( 'supports pagination' , async function ( assert ) {
4042 let { foo } = prepare ( this ) ;
4143
4244 for ( let i = 0 ; i < 20 ; i ++ ) {
43- let crate = this . server . create ( 'crate' ) ;
44- let version = this . server . create ( 'version' , { crate } ) ;
45- this . server . create ( 'dependency' , { crate : foo , version } ) ;
45+ let crate = this . db . crate . create ( ) ;
46+ let version = this . db . version . create ( { crate } ) ;
47+ this . db . dependency . create ( { crate : foo , version } ) ;
4648 }
4749
4850 await visit ( `/crates/${ foo . name } /reverse_dependencies` ) ;
@@ -67,7 +69,8 @@ module('Acceptance | /crates/:crate_id/reverse_dependencies', function (hooks) {
6769 test ( 'shows a generic error if the server is broken' , async function ( assert ) {
6870 let { foo } = prepare ( this ) ;
6971
70- this . server . get ( '/api/v1/crates/:crate_id/reverse_dependencies' , { } , 500 ) ;
72+ let error = HttpResponse . json ( { } , { status : 500 } ) ;
73+ this . worker . use ( http . get ( '/api/v1/crates/:crate_id/reverse_dependencies' , ( ) => error ) ) ;
7174
7275 await visit ( `/crates/${ foo . name } /reverse_dependencies` ) ;
7376 assert . strictEqual ( currentURL ( ) , '/' ) ;
@@ -79,8 +82,8 @@ module('Acceptance | /crates/:crate_id/reverse_dependencies', function (hooks) {
7982 test ( 'shows a detailed error if available' , async function ( assert ) {
8083 let { foo } = prepare ( this ) ;
8184
82- let payload = { errors : [ { detail : 'cannot request more than 100 items' } ] } ;
83- this . server . get ( '/api/v1/crates/:crate_id/reverse_dependencies' , payload , 400 ) ;
85+ let error = HttpResponse . json ( { errors : [ { detail : 'cannot request more than 100 items' } ] } , { status : 400 } ) ;
86+ this . worker . use ( http . get ( '/api/v1/crates/:crate_id/reverse_dependencies' , ( ) => error ) ) ;
8487
8588 await visit ( `/crates/${ foo . name } /reverse_dependencies` ) ;
8689 assert . strictEqual ( currentURL ( ) , '/' ) ;
0 commit comments