NewPodcast: Add NewPodcast.index unit test.
This commit is contained in:
parent
16bbfb5478
commit
73eeb1b545
@ -57,6 +57,8 @@ impl Update for NewPodcast {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Maybe return an Enum<Action(Resut)> Instead.
|
||||||
|
// It would make unti testing better too.
|
||||||
impl Index for NewPodcast {
|
impl Index for NewPodcast {
|
||||||
fn index(&self) -> Result<()> {
|
fn index(&self) -> Result<()> {
|
||||||
let exists = dbqueries::podcast_exists(self.source_id)?;
|
let exists = dbqueries::podcast_exists(self.source_id)?;
|
||||||
@ -325,13 +327,12 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
// This maybe could be a doc test on insert.
|
|
||||||
// TODO: Add more test/checks
|
// TODO: Add more test/checks
|
||||||
// Currently there's a test that only checks new descriptions.
|
// Currently there's a test that only checks new descriptions.
|
||||||
// If you have time and want to help, implement the test for the other fields too.
|
// If you have time and want to help, implement the test for the other fields too.
|
||||||
fn test_new_podcast_update() {
|
fn test_new_podcast_update() {
|
||||||
truncate_db().unwrap();
|
truncate_db().unwrap();
|
||||||
let old = (*EXPECTED_INTERCEPT).into_podcast().unwrap();
|
let old = EXPECTED_INTERCEPT.into_podcast().unwrap();
|
||||||
|
|
||||||
let updated = NewPodcastBuilder::default()
|
let updated = NewPodcastBuilder::default()
|
||||||
.title("Intercepted with Jeremy Scahill")
|
.title("Intercepted with Jeremy Scahill")
|
||||||
@ -353,4 +354,38 @@ mod tests {
|
|||||||
assert_eq!(updated, new);
|
assert_eq!(updated, new);
|
||||||
assert_ne!(&updated, &old);
|
assert_ne!(&updated, &old);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_new_podcast_index() {
|
||||||
|
truncate_db().unwrap();
|
||||||
|
|
||||||
|
let updated = NewPodcastBuilder::default()
|
||||||
|
.title("Intercepted with Jeremy Scahill")
|
||||||
|
.link("https://theintercept.com/podcasts")
|
||||||
|
.description("New description")
|
||||||
|
.image_uri(Some(String::from(
|
||||||
|
"http://static.megaphone.fm/podcasts/d5735a50-d904-11e6-8532-73c7de466ea6/image/\
|
||||||
|
uploads_2F1484252190700-qhn5krasklbce3dh-a797539282700ea0298a3a26f7e49b0b_\
|
||||||
|
2FIntercepted_COVER%2B_281_29.png")
|
||||||
|
))
|
||||||
|
.source_id(42)
|
||||||
|
.build()
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
// First insert
|
||||||
|
assert!(EXPECTED_INTERCEPT.index().is_ok());
|
||||||
|
// Second identical, This should take the early return path
|
||||||
|
assert!(EXPECTED_INTERCEPT.index().is_ok());
|
||||||
|
// Get the podcast
|
||||||
|
let old = dbqueries::get_podcast_from_source_id(42).unwrap();
|
||||||
|
// Assert that NewPodcast is equal to the Indexed one
|
||||||
|
assert_eq!(&*EXPECTED_INTERCEPT, &old);
|
||||||
|
|
||||||
|
// Update the podcast
|
||||||
|
assert!(updated.index().is_ok());
|
||||||
|
// Get the new Podcast
|
||||||
|
let new = dbqueries::get_podcast_from_source_id(42).unwrap();
|
||||||
|
// Assert it's diff from the old one.
|
||||||
|
assert_ne!(new, old);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user