diff options
| -rw-r--r-- | src/meetup_rss.rs | 40 | 
1 files changed, 23 insertions, 17 deletions
| diff --git a/src/meetup_rss.rs b/src/meetup_rss.rs index 6879082..7e2989a 100644 --- a/src/meetup_rss.rs +++ b/src/meetup_rss.rs @@ -2,12 +2,12 @@ use rss::{Channel, ChannelBuilder, Item};  use meetup::event::Event; -pub fn generate(events: Vec<Event>) -> Result<Channel, String> { +pub fn generate(events: &Vec<Event>) -> Result<Channel, String> {      let items: Vec<Item> = events.into_iter().map(|event| {          let mut item = Item::default(); -        item.set_title(event.name); -        item.set_link(event.link); -        item.set_description(event.description); +        item.set_title(event.name.clone()); +        item.set_link(event.link.clone()); +        item.set_description(event.description.clone());          item      }).collect(); @@ -27,18 +27,24 @@ mod tests {      use super::*;      #[test] -    fn test_generate_builds_a_channel() { -        let x = generate( -            vec![ -                Event { -                    name: "Summer Sun Celebration".to_owned(), -                    description: "Description".to_owned(), -                    link: "http://example.com".to_owned(), -                    local_date: "2018-04-13".to_owned(), -                    local_time: "18:30".to_owned(), -                } -            ] -        ); -        println!("{:?}", x); +    fn test_generate_builds_a_channel_of_events() { +        let events = vec![ +            Event { +                name: "Summer Sun Celebration".to_owned(), +                description: "Description".to_owned(), +                link: "http://example.com".to_owned(), +                local_date: "2018-04-13".to_owned(), +                local_time: "18:30".to_owned(), +            } +        ]; +        let event = &events[0]; + +        let channel = generate(&events).unwrap(); + +        let item = channel.items().first().unwrap(); + +        assert_eq!(event.name, item.title().unwrap()); +        assert_eq!(event.link, item.link().unwrap()); +        assert_eq!(event.description, item.description().unwrap());      }  } | 
