public async Task ShouldRemoveConversation() { // Arrange FbHookChange change = MakeFbHookChangeForRemovingPost(); var dependencyResolverMock = new Mock <IDependencyResolver>(); var conversationServiceMock = new Mock <IConversationService>(); conversationServiceMock.Setup(t => t.FindAll()).Returns(new List <Conversation> { new Conversation { Id = 1, OriginalId = change.Value.PostId } }.AsQueryable()); dependencyResolverMock.Setup(t => t.Resolve <IConversationService>()).Returns(conversationServiceMock.Object); var strategry = new RemoveVisitorPostStrategy(dependencyResolverMock.Object); var socialAccount = new SocialAccount { Token = "token" }; // Act var processResult = await strategry.Process(socialAccount, change); // Assert Assert.Equal(1, processResult.DeletedConversations.Count()); var conversation = processResult.DeletedConversations.First(); Assert.Equal(1, conversation.Id); }
public async Task ShouldIgnoreIfConversationNotExists() { // Arrange FbHookChange change = MakeFbHookChangeForRemovingPost(); var dependencyResolverMock = new Mock <IDependencyResolver>(); var conversationServiceMock = new Mock <IConversationService>(); conversationServiceMock.Setup(t => t.FindAll()).Returns(new List <Conversation>().AsQueryable()); dependencyResolverMock.Setup(t => t.Resolve <IConversationService>()).Returns(conversationServiceMock.Object); var strategry = new RemoveVisitorPostStrategy(dependencyResolverMock.Object); var socialAccount = new SocialAccount { Token = "token" }; // Act var processResult = await strategry.Process(socialAccount, change); // Assert Assert.Equal(0, processResult.DeletedConversations.Count()); }
public void ShouldNotMatchStrategy() { // Arrange var dependencyResolverMock = new Mock <IDependencyResolver>(); var strategy = new RemoveVisitorPostStrategy(dependencyResolverMock.Object); var fbHookChange = new FbHookChange { Field = "feed", Value = new FbHookChangeValue { Item = "post", PostId = "post_1", Verb = "add" } }; // Act bool isMatch = strategy.IsMatch(fbHookChange); // Assert Assert.False(isMatch); }