public void BeforeMarkedAsSolutionCancel() { var topicRepository = Substitute.For<ITopicRepository>(); var postRepository = Substitute.For<IPostRepository>(); var membershipUserPointsService = Substitute.For<IMembershipUserPointsService>(); var settingsService = Substitute.For<ISettingsService>(); var topicService = new TopicService(membershipUserPointsService, settingsService, topicRepository, postRepository, _api, _topicNotificationService); var marker = new MembershipUser { UserName = "******", Id = Guid.NewGuid() }; var topic = new Topic { Name = "something", Tags = new List<TopicTag> { new TopicTag{Tag = "tagone"}, new TopicTag{Tag = "tagtwo"} }, User = marker }; var post = new Post { PostContent = "Test content" }; var solutionWriter = new MembershipUser { UserName = "******" }; EventManager.Instance.BeforeMarkedAsSolution += eventsService_BeforeMarkedAsSolutionCancel; topicService.SolveTopic(topic, post, marker, solutionWriter); postRepository.DidNotReceive().Update(Arg.Is<Post>(x => x.PostContent == "Test content")); Assert.IsFalse(topic.Solved); EventManager.Instance.BeforeMarkedAsSolution -= eventsService_BeforeMarkedAsSolutionCancel; }
public void AfterMarkedAsSolution() { var topicRepository = Substitute.For<ITopicRepository>(); var postRepository = Substitute.For<IPostRepository>(); var membershipUserPointsService = Substitute.For<IMembershipUserPointsService>(); var settingsService = Substitute.For<ISettingsService>(); settingsService.GetSettings().Returns(new Settings{PointsAddedForSolution = 20}); var topicService = new TopicService(membershipUserPointsService, settingsService, topicRepository, postRepository, _api, _topicNotificationService); var marker = new MembershipUser { UserName = "******", Id = Guid.NewGuid() }; var topic = new Topic { Name = "something", Tags = new List<TopicTag> { new TopicTag{Tag = "tagone"}, new TopicTag{Tag = "tagtwo"} }, User = marker }; var post = new Post { PostContent = "Test content" }; var solutionWriter = new MembershipUser { UserName = "******" }; EventManager.Instance.AfterMarkedAsSolution += eventsService_AfterMarkedAsSolution; topicService.SolveTopic(topic, post, marker, solutionWriter); Assert.IsTrue(topic.Solved); Assert.AreEqual(solutionWriter.Email, TestString); EventManager.Instance.AfterMarkedAsSolution -= eventsService_AfterMarkedAsSolution; }
public void SolveTopicMarkerNotOwner() { var topicRepository = Substitute.For<ITopicRepository>(); var postRepository = Substitute.For<IPostRepository>(); var membershipUserPointsService = Substitute.For<IMembershipUserPointsService>(); var settingsService = Substitute.For<ISettingsService>(); var topicService = new TopicService(membershipUserPointsService, settingsService, topicRepository, postRepository, _api, _topicNotificationService); var marker = new MembershipUser { UserName = "******", Id = Guid.NewGuid() }; var owner = new MembershipUser { UserName = "******", Id = Guid.NewGuid() }; var topic = new Topic { Name = "something", Tags = new List<TopicTag> { new TopicTag{Tag = "tagone"}, new TopicTag{Tag = "tagtwo"} }, User = owner }; var post = new Post() { PostContent = "Test content" }; var solutionWriter = new MembershipUser { UserName = "******" }; topicService.SolveTopic(topic, post, marker, solutionWriter); Assert.IsFalse(topic.Solved); }