public void Delete_By_Topic_With_One_Topics_Per_Tag() { var tagRepository = Substitute.For<ITopicTagRepository>(); var topicRepository = Substitute.For<ITopicRepository>(); var topicTagService = new TopicTagService(tagRepository, topicRepository); var topicTag = new TopicTag { Tag = "tag-one", Topics = new List<Topic> { new Topic { Name = "HulkRules" } } }; var topic = new Topic { Tags = new List<TopicTag> { topicTag } }; topicTagService.DeleteByTopic(topic); Assert.IsTrue(topicTag.Topics.Count() <= 1); tagRepository.Received().Delete(Arg.Is(topicTag)); }
public void Delete_By_Topic_With_Multiple_Topics_Per_Tag() { var tagRepository = Substitute.For<ITopicTagRepository>(); var topicRepository = Substitute.For<ITopicRepository>(); var topicTagService = new TopicTagService(tagRepository, topicRepository); var topicTag = new TopicTag { Tag = "tag-one", Topics = new List<Topic> {new Topic {Name = "Tony"},new Topic {Name = "Stark"}} }; var topic = new Topic { Tags = new List<TopicTag> { topicTag } }; topicTagService.DeleteByTopic(topic); Assert.IsFalse(topicTag.Topics.Count() <= 1); tagRepository.DidNotReceive().Delete(Arg.Is(topicTag)); }