Skip to content

Commit 247d1e3

Browse files
author
Koenraad Verheyden
committed
last_successful_build: extend tests with yanked crates
1 parent 568b9eb commit 247d1e3

File tree

2 files changed

+17
-6
lines changed

2 files changed

+17
-6
lines changed

src/test/fakes.rs

+5
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ impl<'db> FakeRelease<'db> {
7676
self
7777
}
7878

79+
pub(crate) fn cratesio_data_yanked(mut self, new: bool) -> Self {
80+
self.cratesio_data.yanked = new;
81+
self
82+
}
83+
7984
pub(crate) fn create(self) -> Result<i32, Error> {
8085
let tempdir = tempdir::TempDir::new("docs.rs-fake")?;
8186

src/web/crate_details.rs

+12-6
Original file line numberDiff line numberDiff line change
@@ -339,47 +339,53 @@ mod tests {
339339
}
340340

341341
#[test]
342-
fn test_last_successful_build_when_last_release_failed() {
342+
fn test_last_successful_build_when_last_releases_failed_or_yanked() {
343343
crate::test::wrapper(|env| {
344344
let db = env.db();
345345

346346
db.fake_release().name("foo").version("0.0.1").create()?;
347347
db.fake_release().name("foo").version("0.0.2").create()?;
348348
db.fake_release().name("foo").version("0.0.3").build_result_successful(false).create()?;
349+
db.fake_release().name("foo").version("0.0.4").cratesio_data_yanked(true).create()?;
349350

350351
assert_last_successful_build_equals(&db, "foo", "0.0.1", None)?;
351352
assert_last_successful_build_equals(&db, "foo", "0.0.2", None)?;
352353
assert_last_successful_build_equals(&db, "foo", "0.0.3", Some("0.0.2"))?;
354+
// don't test for foo-0.0.4, yanked crates are not displayed
353355
Ok(())
354356
});
355357
}
356358

357359
#[test]
358-
fn test_last_successful_build_when_all_releases_failed() {
360+
fn test_last_successful_build_when_all_releases_failed_or_yanked() {
359361
crate::test::wrapper(|env| {
360362
let db = env.db();
361363

362364
db.fake_release().name("foo").version("0.0.1").build_result_successful(false).create()?;
363365
db.fake_release().name("foo").version("0.0.2").build_result_successful(false).create()?;
366+
db.fake_release().name("foo").version("0.0.3").cratesio_data_yanked(true).create()?;
364367

365368
assert_last_successful_build_equals(&db, "foo", "0.0.1", None)?;
366369
assert_last_successful_build_equals(&db, "foo", "0.0.2", None)?;
370+
// don't test for foo-0.0.3, yanked crates are not displayed
367371
Ok(())
368372
});
369373
}
370374

371375
#[test]
372-
fn test_last_successful_build_when_an_intermittent_release_failed() {
376+
fn test_last_successful_build_with_intermittent_releases_failed_or_yanked() {
373377
crate::test::wrapper(|env| {
374378
let db = env.db();
375379

376380
db.fake_release().name("foo").version("0.0.1").create()?;
377381
db.fake_release().name("foo").version("0.0.2").build_result_successful(false).create()?;
378-
db.fake_release().name("foo").version("0.0.3").create()?;
382+
db.fake_release().name("foo").version("0.0.3").cratesio_data_yanked(true).create()?;
383+
db.fake_release().name("foo").version("0.0.4").create()?;
379384

380385
assert_last_successful_build_equals(&db, "foo", "0.0.1", None)?;
381-
assert_last_successful_build_equals(&db, "foo", "0.0.2", Some("0.0.3"))?;
382-
assert_last_successful_build_equals(&db, "foo", "0.0.3", None)?;
386+
assert_last_successful_build_equals(&db, "foo", "0.0.2", Some("0.0.4"))?;
387+
// don't test for foo-0.0.3, yanked crates are not displayed
388+
assert_last_successful_build_equals(&db, "foo", "0.0.4", None)?;
383389
Ok(())
384390
});
385391
}

0 commit comments

Comments
 (0)