@@ -76,6 +76,67 @@ module('Mirage | GET /api/v1/crates/:id', function (hooks) {
76
76
} ) ;
77
77
} ) ;
78
78
79
+ test ( 'works for non-canonical names' , async function ( assert ) {
80
+ let crate = this . server . create ( 'crate' , { name : 'foo-bar' } ) ;
81
+ this . server . create ( 'version' , { crate, num : '1.0.0-beta.1' } ) ;
82
+
83
+ let response = await fetch ( '/api/v1/crates/foo_bar' ) ;
84
+ assert . strictEqual ( response . status , 200 ) ;
85
+ assert . deepEqual ( await response . json ( ) , {
86
+ categories : [ ] ,
87
+ crate : {
88
+ badges : [ ] ,
89
+ categories : [ ] ,
90
+ created_at : '2010-06-16T21:30:45Z' ,
91
+ default_version : '1.0.0-beta.1' ,
92
+ description : 'This is the description for the crate called "foo-bar"' ,
93
+ documentation : null ,
94
+ downloads : 0 ,
95
+ homepage : null ,
96
+ id : 'foo-bar' ,
97
+ keywords : [ ] ,
98
+ links : {
99
+ owner_team : '/api/v1/crates/foo-bar/owner_team' ,
100
+ owner_user : '/api/v1/crates/foo-bar/owner_user' ,
101
+ reverse_dependencies : '/api/v1/crates/foo-bar/reverse_dependencies' ,
102
+ version_downloads : '/api/v1/crates/foo-bar/downloads' ,
103
+ versions : '/api/v1/crates/foo-bar/versions' ,
104
+ } ,
105
+ max_version : '1.0.0-beta.1' ,
106
+ max_stable_version : null ,
107
+ name : 'foo-bar' ,
108
+ newest_version : '1.0.0-beta.1' ,
109
+ repository : null ,
110
+ updated_at : '2017-02-24T12:34:56Z' ,
111
+ versions : [ '1' ] ,
112
+ yanked : false ,
113
+ } ,
114
+ keywords : [ ] ,
115
+ versions : [
116
+ {
117
+ id : '1' ,
118
+ crate : 'foo-bar' ,
119
+ crate_size : 0 ,
120
+ created_at : '2010-06-16T21:30:45Z' ,
121
+ dl_path : '/api/v1/crates/foo-bar/1.0.0-beta.1/download' ,
122
+ downloads : 0 ,
123
+ license : 'MIT/Apache-2.0' ,
124
+ links : {
125
+ dependencies : '/api/v1/crates/foo-bar/1.0.0-beta.1/dependencies' ,
126
+ version_downloads : '/api/v1/crates/foo-bar/1.0.0-beta.1/downloads' ,
127
+ } ,
128
+ num : '1.0.0-beta.1' ,
129
+ published_by : null ,
130
+ readme_path : '/api/v1/crates/foo-bar/1.0.0-beta.1/readme' ,
131
+ rust_version : null ,
132
+ updated_at : '2017-02-24T12:34:56Z' ,
133
+ yanked : false ,
134
+ yank_message : null ,
135
+ } ,
136
+ ] ,
137
+ } ) ;
138
+ } ) ;
139
+
79
140
test ( 'includes related versions' , async function ( assert ) {
80
141
let crate = this . server . create ( 'crate' , { name : 'rand' } ) ;
81
142
this . server . create ( 'version' , { crate, num : '1.0.0' } ) ;
0 commit comments