public void ProcessResults_ForShowWelcomeMessage_HandlesSingleResult() { var wmReqProc = new WelcomeMessageRequestProcessor <WelcomeMessage> { BaseUrl = "https://api.twitter.com/1.1/", Type = WelcomeMessageType.ShowMessage }; List <WelcomeMessage> msgs = wmReqProc.ProcessResults(TestQuerySingleWelcomeMessageResponse); WelcomeMessage welcomeMsg = msgs?.First(); Assert.IsNotNull(welcomeMsg); WelcomeMessageValue val = welcomeMsg.Value; Assert.IsNotNull(val); WelcomeMsg msg = val.WelcomeMessage; Assert.IsNotNull(msg); Assert.AreEqual("950134376347574276", msg.Id); Assert.AreEqual("1515364662621", msg.CreatedTimestamp); Assert.AreEqual("472356", msg.SourceAppId); Assert.AreEqual("New Welcome Message", msg.Name); WelcomeMessageData data = msg.MessageData; Assert.IsNotNull(data); Assert.AreEqual("Welcome!", data.Text); JObject app = val.Apps; JObject appDetail = app.Value <JObject>("472356"); Assert.AreEqual("472356", appDetail.Value <string>("id")); Assert.AreEqual("LINQ to Tweeter", appDetail.Value <string>("name")); Assert.AreEqual("https://github.com/JoeMayo/LinqToTwitter", appDetail.Value <string>("url")); }
public void ProcessResults_ForListRules_HandlesMultipleResults() { var wmReqProc = new WelcomeMessageRequestProcessor <WelcomeMessage> { BaseUrl = "https://api.twitter.com/1.1/", Type = WelcomeMessageType.ListMessages }; List <WelcomeMessage> msgs = wmReqProc.ProcessResults(TestQueryMultipleRuleResponses); WelcomeMessage welcomeMsg = msgs.FirstOrDefault(); Assert.IsNotNull(welcomeMsg); WelcomeMessageValue val = welcomeMsg.Value; Assert.IsNotNull(val); List <WelcomeMessageRule> rules = val.WelcomeMessageRules; Assert.IsNotNull(rules); WelcomeMessageRule rule = rules.FirstOrDefault(); Assert.IsNotNull(rule); Assert.AreEqual("949450720239001600", rule.ID); Assert.AreEqual("1515201666303", rule.CreatedTimestamp); Assert.AreEqual("949450173926617092", rule.WelcomeMessageID); }
public void ProcessResults_ForListWelcomeMessages_HandlesMultipleResults() { var wmReqProc = new WelcomeMessageRequestProcessor <WelcomeMessage> { BaseUrl = "https://api.twitter.com/1.1/", Type = WelcomeMessageType.ListMessages }; List <WelcomeMessage> msgs = wmReqProc.ProcessResults(TestQueryMultipleWelcomeMessageResponses); WelcomeMessage welcomeMsg = msgs?.First(); Assert.IsNotNull(welcomeMsg); WelcomeMessageValue val = welcomeMsg.Value; Assert.IsNotNull(val); List <WelcomeMsg> msgList = val.WelcomeMessages; WelcomeMsg msg = msgList.FirstOrDefault(); Assert.IsNotNull(msg); Assert.AreEqual("New Welcome Message", msg.Name); WelcomeMessageData data = msg.MessageData; Assert.IsNotNull(data); Assert.AreEqual("Welcome!", data.Text); }
public async Task UpdateWelcomeMessageAsync_WithName_ReturnsCreatedWelcomeMessage() { const ulong WelcomeMessageID = 1; const string Name = "New Name"; const string Text = "Welcome!"; var ctx = InitializeTwitterContext <WelcomeMsg>(WelcomeMessageResponse); WelcomeMessage welcomeMsg = await ctx.UpdateWelcomeMessageAsync(WelcomeMessageID, Name, Text); Assert.IsNotNull(welcomeMsg); WelcomeMessageValue value = welcomeMsg.Value; Assert.IsNotNull(value); WelcomeMsg msg = value.WelcomeMessage; Assert.IsNotNull(msg); Assert.AreEqual("945484689657102340", msg.Id); Assert.AreEqual("1514256090927", msg.CreatedTimestamp); Assert.AreEqual(new DateTime(2017, 12, 26, 02, 41, 30, 927), msg.CreatedAt); WelcomeMessageData msgData = msg.MessageData; Assert.IsNotNull(msgData); Assert.AreEqual("Welcome!", msgData.Text); Entities entities = msgData.Entities; Assert.IsNotNull(entities); Assert.AreEqual("472356", msg.SourceAppId); Assert.AreEqual("New Welcome Message", msg.Name); JsonElement apps = value.Apps; Assert.IsNotNull(apps); JsonElement app = apps.GetProperty(msg.SourceAppId); Assert.IsNotNull(app); Assert.AreEqual("472356", app.GetString("id")); Assert.AreEqual("LINQ to Tweeter", app.GetString("name")); Assert.AreEqual("https://github.com/JoeMayo/LinqToTwitter", app.GetString("url")); }
public void ProcessResults_ForShowWelcomeMessageRule_HandlesSingleResult() { var wmReqProc = new WelcomeMessageRequestProcessor <WelcomeMessage> { BaseUrl = "https://api.twitter.com/1.1/", Type = WelcomeMessageType.ShowMessage }; List <WelcomeMessage> msgs = wmReqProc.ProcessResults(TestQuerySingleWelcomeMessageRuleResponse); WelcomeMessage welcomeMsg = msgs.FirstOrDefault(); Assert.IsNotNull(welcomeMsg); WelcomeMessageValue val = welcomeMsg.Value; Assert.IsNotNull(val); WelcomeMessageRule rule = val.WelcomeMessageRule; Assert.IsNotNull(rule); Assert.AreEqual("950225380517937152", rule.ID); Assert.AreEqual("1515386359706", rule.CreatedTimestamp); Assert.AreEqual("950134376347574276", rule.WelcomeMessageID); }
public async Task NewWelcomeMessageAsync_WithName_ReturnsCreatedWelcomeMessage() { const string Name = "Test Welcome Message"; const string Text = "Welcome!"; var ctx = InitializeTwitterContext <WelcomeMessageValue>(WelcomeMessageResponse); WelcomeMessage welcomeMsg = await ctx.NewWelcomeMessageAsync(Name, Text); Assert.IsNotNull(welcomeMsg); WelcomeMessageValue value = welcomeMsg.Value; Assert.IsNotNull(value); WelcomeMsg msg = value.WelcomeMessage; Assert.IsNotNull(msg); Assert.AreEqual("945484689657102340", msg.Id); Assert.AreEqual("1514256090927", msg.CreatedTimestamp); Assert.AreEqual(new DateTime(2017, 12, 26, 02, 41, 30, 927), msg.CreatedAt); WelcomeMessageData msgData = msg.MessageData; Assert.IsNotNull(msgData); Assert.AreEqual("Welcome!", msgData.Text); Entities entities = msgData.Entities; Assert.IsNotNull(entities); Assert.AreEqual("472356", msg.SourceAppId); Assert.AreEqual("New Welcome Message", msg.Name); JObject apps = value.Apps; Assert.IsNotNull(apps); JToken app = apps[msg.SourceAppId]; Assert.IsNotNull(app); Assert.AreEqual("472356", app["id"]); Assert.AreEqual("LINQ to Tweeter", app["name"]); Assert.AreEqual("https://github.com/JoeMayo/LinqToTwitter", app["url"]); }