@@ -120,7 +120,7 @@ pub(crate) async fn get_releases(
120
120
version : row. get ( 1 ) ,
121
121
description : row. get ( 2 ) ,
122
122
target_name : row. get ( 3 ) ,
123
- rustdoc_status : row. get ( 4 ) ,
123
+ rustdoc_status : row. get :: < Option < bool > , _ > ( 4 ) . unwrap_or ( false ) ,
124
124
build_time : row. get ( 5 ) ,
125
125
stars : row. get :: < Option < i32 > , _ > ( 6 ) . unwrap_or ( 0 ) ,
126
126
has_unyanked_releases : None ,
@@ -787,10 +787,11 @@ pub(crate) async fn build_queue_handler(
787
787
mod tests {
788
788
use super :: * ;
789
789
use crate :: db:: types:: BuildStatus ;
790
+ use crate :: db:: { finish_build, initialize_build, initialize_crate, initialize_release} ;
790
791
use crate :: registry_api:: { CrateOwner , OwnerKind } ;
791
792
use crate :: test:: {
792
793
assert_cache_control, assert_redirect, assert_redirect_unchecked, assert_success,
793
- fake_release_that_failed_before_build, wrapper, FakeBuild , TestFrontend ,
794
+ async_wrapper , fake_release_that_failed_before_build, wrapper, FakeBuild , TestFrontend ,
794
795
} ;
795
796
use anyhow:: Error ;
796
797
use chrono:: { Duration , TimeZone } ;
@@ -800,6 +801,40 @@ mod tests {
800
801
use serde_json:: json;
801
802
use test_case:: test_case;
802
803
804
+ #[ test]
805
+ fn test_release_list_with_incomplete_release_and_successful_build ( ) {
806
+ async_wrapper ( |env| async move {
807
+ let db = env. async_db ( ) . await ;
808
+ let mut conn = db. async_conn ( ) . await ;
809
+
810
+ let crate_id = initialize_crate ( & mut conn, "foo" ) . await ?;
811
+ let release_id = initialize_release ( & mut conn, crate_id, "0.1.0" ) . await ?;
812
+ let build_id = initialize_build ( & mut conn, release_id) . await ?;
813
+
814
+ finish_build (
815
+ & mut conn,
816
+ build_id,
817
+ "rustc-version" ,
818
+ "docs.rs 4.0.0" ,
819
+ BuildStatus :: Success ,
820
+ None ,
821
+ )
822
+ . await ?;
823
+
824
+ let releases = get_releases ( & mut conn, 1 , 10 , Order :: ReleaseTime , false ) . await ?;
825
+
826
+ assert_eq ! (
827
+ vec![ "foo" ] ,
828
+ releases
829
+ . iter( )
830
+ . map( |release| release. name. as_str( ) )
831
+ . collect:: <Vec <_>>( ) ,
832
+ ) ;
833
+
834
+ Ok ( ( ) )
835
+ } )
836
+ }
837
+
803
838
#[ test]
804
839
fn get_releases_by_stars ( ) {
805
840
wrapper ( |env| {
0 commit comments