(name: &str, expected_name: &str)
| 612 | use digraph::git::{OnMatchingSynonym, Search, UpsertTopicResult}; |
| 613 | |
| 614 | fn assert_topic_added(name: &str, expected_name: &str) { |
| 615 | let f = Fixtures::copy("simple"); |
| 616 | let search = Search::parse("Topic name").unwrap(); |
| 617 | let repo_id = RepoId::wiki(); |
| 618 | let path = parse_id("00001"); |
| 619 | |
| 620 | assert!(f.find_topic(expected_name).is_none()); |
| 621 | |
| 622 | let result = f |
| 623 | .upsert_topic(repo_id, name, &path, OnMatchingSynonym::Ask) |
| 624 | .unwrap(); |
| 625 | |
| 626 | assert!(result.saved); |
| 627 | assert_eq!(result.matching_repo_topics, BTreeSet::new()); |
| 628 | |
| 629 | let topic = &result.repo_topic; |
| 630 | assert!(topic.is_some()); |
| 631 | |
| 632 | let topic = (*topic).clone().unwrap(); |
| 633 | assert!(f |
| 634 | .git |
| 635 | .appears_in(repo_id, &search, &topic.to_search_entry()) |
| 636 | .unwrap()); |
| 637 | |
| 638 | assert!(f.find_topic(expected_name).is_some()); |
| 639 | } |
| 640 | |
| 641 | #[test] |
| 642 | fn topic_added() { |
no test coverage detected