@@ -219,7 +219,7 @@ impl CrateDetails {
219
219
}
220
220
221
221
// retrieve last successful build if build failed
222
- if crate_details. build_status == false {
222
+ if ! crate_details. build_status {
223
223
let rows = conn. query (
224
224
"SELECT version
225
225
FROM releases
@@ -278,21 +278,21 @@ mod tests {
278
278
use super :: * ;
279
279
use failure:: Error ;
280
280
281
- #[ test]
282
- fn test_last_successful_build ( ) {
283
- fn last_successful_build_equals (
284
- conn : & Connection ,
285
- package : & str ,
286
- version : & str ,
287
- expected_last_successful_build : Option < String >
288
- ) -> Result < bool , Error > {
281
+ fn last_successful_build_equals (
282
+ conn : & Connection ,
283
+ package : & str ,
284
+ version : & str ,
285
+ expected_last_successful_build : Option < String >
286
+ ) -> Result < bool , Error > {
289
287
290
- let details = CrateDetails :: new ( conn, package, version)
291
- . ok_or ( failure:: err_msg ( "could not fetch crate details" ) ) ?;
288
+ let details = CrateDetails :: new ( conn, package, version)
289
+ . ok_or ( failure:: err_msg ( "could not fetch crate details" ) ) ?;
292
290
293
- Ok ( details. last_successful_build == expected_last_successful_build)
294
- } ;
291
+ Ok ( details. last_successful_build == expected_last_successful_build)
292
+ }
295
293
294
+ #[ test]
295
+ fn test_last_successful_build ( ) {
296
296
crate :: test:: with_database ( |db| {
297
297
// Create some releases in the database, of which the last release failed to build
298
298
db. fake_release ( )
@@ -316,4 +316,26 @@ mod tests {
316
316
Ok ( ( ) )
317
317
} ) ;
318
318
}
319
+
320
+ #[ test]
321
+ fn test_last_successful_build_but_none_succeeded ( ) {
322
+ crate :: test:: with_database ( |db| {
323
+ // Create some releases in the database, of which all failed to build
324
+ db. fake_release ( )
325
+ . name ( "foo" )
326
+ . version ( "0.0.1" )
327
+ . build_result_successful ( false )
328
+ . create ( ) ?;
329
+ db. fake_release ( )
330
+ . name ( "foo" )
331
+ . version ( "0.0.2" )
332
+ . build_result_successful ( false )
333
+ . create ( ) ?;
334
+
335
+ assert ! ( last_successful_build_equals( & db. conn( ) , "foo" , "0.0.1" , None ) ?) ;
336
+ assert ! ( last_successful_build_equals( & db. conn( ) , "foo" , "0.0.2" , None ) ?) ;
337
+
338
+ Ok ( ( ) )
339
+ } ) ;
340
+ }
319
341
}
0 commit comments