public void Add_Test() { const string tag = "testtag"; var tagRepository = Substitute.For<ITopicTagRepository>(); var topicRepository = Substitute.For<ITopicRepository>(); var topicTagService = new TopicTagService(tagRepository, topicRepository); tagRepository.GetTagName(tag).Returns(x => null); var topic = new Topic(); topicTagService.Add(tag, topic); Assert.IsTrue(topic.Tags.Count() == 1); Assert.IsTrue(topic.Tags[0].Tag == tag); tagRepository.Received().Add(Arg.Is<TopicTag>(x => x.Tag == tag)); }
public void Add_Test_With_No_Existing_Tags() { const string testtag = "testtag"; const string testtagtwo = "testtagtwo"; const string andthree = "andthree"; var tagRepository = Substitute.For<ITopicTagRepository>(); var topicRepository = Substitute.For<ITopicRepository>(); var topicTagService = new TopicTagService(tagRepository, topicRepository); tagRepository.GetTagName(testtag).Returns(x => new TopicTag { Tag = testtag }); tagRepository.GetTagName(testtagtwo).Returns(x => new TopicTag { Tag = testtagtwo }); tagRepository.GetTagName(andthree).Returns(x => new TopicTag { Tag = andthree }); var topic = new Topic(); topicTagService.Add(string.Concat(testtag, " , ", testtagtwo, " , ", andthree), topic); Assert.IsTrue(topic.Tags.Count() == 3); tagRepository.DidNotReceive().Add(Arg.Is<TopicTag>(x => x.Tag == testtag)); tagRepository.DidNotReceive().Add(Arg.Is<TopicTag>(x => x.Tag == testtagtwo)); tagRepository.DidNotReceive().Add(Arg.Is<TopicTag>(x => x.Tag == andthree)); }
public void Add_Test_With_Null_Tags() { var tagRepository = Substitute.For<ITopicTagRepository>(); var topicRepository = Substitute.For<ITopicRepository>(); var topicTagService = new TopicTagService(tagRepository, topicRepository); var topic = new Topic{Tags = new List<TopicTag>()}; var topicTag = new TopicTag(); topicTagService.Add(string.Empty, topic); Assert.IsTrue(!topic.Tags.Any()); tagRepository.DidNotReceive().Update(Arg.Is(topicTag)); }
//[ExpectedException] public void UpdateTagNames_With_Empty_Tags() { var tagRepository = Substitute.For<ITopicTagRepository>(); var topicRepository = Substitute.For<ITopicRepository>(); var topicTagService = new TopicTagService(tagRepository, topicRepository); const string oldName = ""; const string newName = ""; tagRepository.GetTagName(oldName).Returns(x => null); topicTagService.UpdateTagNames(newName, oldName); tagRepository.DidNotReceiveWithAnyArgs().Update(Arg.Is<TopicTag>(x => x.Tag == null)); }
public void UpdateTagNames_With_Non_Existing_Tag() { var tagRepository = Substitute.For<ITopicTagRepository>(); var topicRepository = Substitute.For<ITopicRepository>(); var topicTagService = new TopicTagService(tagRepository, topicRepository); var oldName = "bilbo"; var newName = "baggins"; tagRepository.GetTagName(oldName).Returns(x => null); topicTagService.UpdateTagNames(newName, oldName); tagRepository.DidNotReceiveWithAnyArgs().Update(Arg.Is<TopicTag>(x => x.Tag == null)); }
public void DeleteTags_With_EmptyTags() { var tagRepository = Substitute.For<ITopicTagRepository>(); var topicRepository = Substitute.For<ITopicRepository>(); var topicTagService = new TopicTagService(tagRepository, topicRepository); var topicTags = new List<TopicTag>(); topicTagService.DeleteTags(topicTags); Assert.IsTrue(!topicTags.Any()); tagRepository.DidNotReceiveWithAnyArgs().Delete(Arg.Is<TopicTag>(x => x.Tag == null)); }
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)); }