public void Validate(ModmailConversationContainer modmailConversationContainer) { Assert.IsNotNull(modmailConversationContainer); Assert.IsNotNull(modmailConversationContainer.Conversation); Assert.IsFalse(modmailConversationContainer.Conversation.LastUpdated.Equals(default(DateTime))); Assert.IsNotNull(modmailConversationContainer.Messages); Assert.IsTrue(modmailConversationContainer.Messages.Count > 0); }
public void Conversation() { // If a non-moderator tries to specify a "to" username for NewConversation, the API will return 403 Forbidden. --Kris Validate(reddit.Models.Modmail.NewConversation(new ModmailNewConversationInput("This is a test.", false, testData["Subreddit"], "Test Message", reddit.Models.Account.Me().Name))); // If user is already muted, we can't continue because Unmute requires the ID of the conversation in which the user was originally muted. --Kris ModmailConversationContainer modmailConversationContainer = null; try { modmailConversationContainer = reddit2.Models.Modmail.NewConversation( new ModmailNewConversationInput("This is a test with no target user.", false, testData["Subreddit"], "Test Message")); } catch (RedditBadRequestException ex) { CheckBadRequest("USER_MUTED", "Target user cannot be muted when the test begins.", ex); } Validate(modmailConversationContainer); Assert.IsTrue(modmailConversationContainer.Messages.Count == 1); ModmailConversationContainer modmailConversationContainer2 = reddit.Models.Modmail.GetConversation(modmailConversationContainer.Conversation.Id, false); Validate(modmailConversationContainer2); Assert.AreEqual(modmailConversationContainer.Conversation.Id, modmailConversationContainer2.Conversation.Id); modmailConversationContainer2 = reddit.Models.Modmail.NewMessage(modmailConversationContainer.Conversation.Id, new ModmailNewMessageInput("This is a test reply.", false, false)); Validate(modmailConversationContainer2); Assert.AreEqual(modmailConversationContainer.Conversation.Id, modmailConversationContainer2.Conversation.Id); Assert.IsTrue(modmailConversationContainer2.Messages.Count == 2); modmailConversationContainer2 = reddit.Models.Modmail.MarkHighlighted(modmailConversationContainer.Conversation.Id); Validate(modmailConversationContainer2); Assert.AreEqual(modmailConversationContainer.Conversation.Id, modmailConversationContainer2.Conversation.Id); Assert.IsTrue(modmailConversationContainer2.Conversation.IsHighlighted); modmailConversationContainer2 = reddit.Models.Modmail.RemoveHighlight(modmailConversationContainer.Conversation.Id); Validate(modmailConversationContainer2); Assert.AreEqual(modmailConversationContainer.Conversation.Id, modmailConversationContainer2.Conversation.Id); Assert.IsFalse(modmailConversationContainer2.Conversation.IsHighlighted); modmailConversationContainer2 = reddit.Models.Modmail.Mute(modmailConversationContainer.Conversation.Id); Validate(modmailConversationContainer2); Assert.AreEqual(modmailConversationContainer.Conversation.Id, modmailConversationContainer2.Conversation.Id); modmailConversationContainer2 = reddit.Models.Modmail.UnMute(modmailConversationContainer.Conversation.Id); Validate(modmailConversationContainer2); Assert.AreEqual(modmailConversationContainer.Conversation.Id, modmailConversationContainer2.Conversation.Id); ModmailUser modmailUser = reddit.Models.Modmail.User(modmailConversationContainer.Conversation.Id); Validate(modmailUser); Assert.AreEqual(GetTargetUserModel().Name, modmailUser.Name); reddit.Models.Modmail.MarkRead(modmailConversationContainer.Conversation.Id); reddit.Models.Modmail.MarkUnread(modmailConversationContainer.Conversation.Id); }