Skip to content

Commit f26cc22

Browse files
Koenraad VerheydenJoshua Nelson
Koenraad Verheyden
authored and
Joshua Nelson
committed
update CrateDetails tests to handle yanked crates correctly
When a crate is yanked from crates.io, its documentation might not yet be removed from docs.rs. So it is possible to create CrateDetails of a release that was build successfully but yanked afterwards. Since this release was built successfully, it will not have a reference to a last successful build. But since it was yanked, other release will not point to this release as last successful build.
1 parent 34fb0d1 commit f26cc22

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/web/crate_details.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -338,11 +338,13 @@ mod tests {
338338
db.fake_release().name("foo").version("0.0.2").create()?;
339339
db.fake_release().name("foo").version("0.0.3").build_result_successful(false).create()?;
340340
db.fake_release().name("foo").version("0.0.4").cratesio_data_yanked(true).create()?;
341+
db.fake_release().name("foo").version("0.0.5").build_result_successful(false).cratesio_data_yanked(true).create()?;
341342

342343
assert_last_successful_build_equals(&db, "foo", "0.0.1", None)?;
343344
assert_last_successful_build_equals(&db, "foo", "0.0.2", None)?;
344345
assert_last_successful_build_equals(&db, "foo", "0.0.3", Some("0.0.2"))?;
345-
// don't test for foo-0.0.4, yanked crates are not displayed
346+
assert_last_successful_build_equals(&db, "foo", "0.0.4", None)?;
347+
assert_last_successful_build_equals(&db, "foo", "0.0.5", Some("0.0.2"))?;
346348
Ok(())
347349
});
348350
}
@@ -358,7 +360,7 @@ mod tests {
358360

359361
assert_last_successful_build_equals(&db, "foo", "0.0.1", None)?;
360362
assert_last_successful_build_equals(&db, "foo", "0.0.2", None)?;
361-
// don't test for foo-0.0.3, yanked crates are not displayed
363+
assert_last_successful_build_equals(&db, "foo", "0.0.3", None)?;
362364
Ok(())
363365
});
364366
}
@@ -375,7 +377,7 @@ mod tests {
375377

376378
assert_last_successful_build_equals(&db, "foo", "0.0.1", None)?;
377379
assert_last_successful_build_equals(&db, "foo", "0.0.2", Some("0.0.4"))?;
378-
// don't test for foo-0.0.3, yanked crates are not displayed
380+
assert_last_successful_build_equals(&db, "foo", "0.0.3", None)?;
379381
assert_last_successful_build_equals(&db, "foo", "0.0.4", None)?;
380382
Ok(())
381383
});

0 commit comments

Comments
 (0)