public void ShouldGetMessagingStats() { IRestRequest savedRequest = null; var messaginStatsObject = new MessagingStats() { Date = DateTime.Now, Costs = 30.15, DeliveryRate = 0.95, ReplyRate = 0.32, MessagesReceived = 1085, MessagesSentParts = 150943, MessagesSentDelivered = 123, MessagesSentAccepted = 44, MessagesSentBuffered = 535, MessagesSentFailed = 1, MessagesSentRejected = 50 }; var messagingStatsInitializer = new List<MessagingStats>(); messagingStatsInitializer.Add(messaginStatsObject); mockClient.Setup(trc => trc.Execute<MessagingStatsResult>(It.IsAny<IRestRequest>())) .Callback<IRestRequest>((request) => savedRequest = request) .Returns(new MessagingStatsResult() { MessagingStats = messagingStatsInitializer }); var client = mockClient.Object; client.GetMessagingStats(MessagingStatsGroupBy.Month, DateTime.Now, DateTime.Today); mockClient.Verify(trc => trc.Execute<MessagingStatsResult>(It.IsAny<IRestRequest>()), Times.Once); Assert.IsNotNull(savedRequest); Assert.AreEqual("stats/messaging", savedRequest.Resource); Assert.AreEqual(Method.GET, savedRequest.Method); Assert.AreEqual(3, savedRequest.Parameters.Count); Assert.AreEqual("month", savedRequest.Parameters.Find(x => x.Name == "by").Value); var content = "{ \"resources\": [" + "{ \"replyRate\": 0.32, \"date\": null, \"deliveryRate\": 0.95, \"costs\": 21.00, \"messagesReceived\": 1085," + "\"messagesSentDelivered\": 123, \"messagesSentAccepted\": 44, \"messagesSentBuffered\": 535, \"messagesSentFailed\": 1, \"messagesSentRejected\": 50, \"messagesSentParts\": 150943 }" + "] }"; var testClient = Common.CreateClient<MessagingStatsResult>(content, null, null); client = new Client(testClient); var messagingStats = client.GetMessagingStats(MessagingStatsGroupBy.None, DateTime.Now, DateTime.Today); Assert.AreEqual(1, messagingStats.MessagingStats.Count); Assert.AreEqual(21.00, messagingStats.MessagingStats[0].Costs); Assert.AreEqual(0.95, messagingStats.MessagingStats[0].DeliveryRate); Assert.AreEqual(0.32, messagingStats.MessagingStats[0].ReplyRate); Assert.AreEqual(1085, messagingStats.MessagingStats[0].MessagesReceived); Assert.AreEqual(150943, messagingStats.MessagingStats[0].MessagesSentParts); Assert.AreEqual(123, messagingStats.MessagingStats[0].MessagesSentDelivered); Assert.AreEqual(44, messagingStats.MessagingStats[0].MessagesSentAccepted); Assert.AreEqual(535, messagingStats.MessagingStats[0].MessagesSentBuffered); Assert.AreEqual(1, messagingStats.MessagingStats[0].MessagesSentFailed); Assert.AreEqual(50, messagingStats.MessagingStats[0].MessagesSentRejected); }
public void ShouldGetMessagingStats() { IRestRequest savedRequest = null; var messaginStatsObject = new MessagingStats { Date = DateTime.Now, Costs = 30.15, DeliveryRate = 0.95, ReplyRate = 0.32, MessagesReceived = 1085, MessagesSentParts = 150943, MessagesSentDelivered = 123, MessagesSentAccepted = 44, MessagesSentBuffered = 535, MessagesSentFailed = 1, MessagesSentRejected = 50 }; var messagingStatsInitializer = new List <MessagingStats>(); messagingStatsInitializer.Add(messaginStatsObject); mockClient.Setup(trc => trc.Execute <MessagingStatsResult>(It.IsAny <IRestRequest>())) .Callback <IRestRequest>(request => savedRequest = request) .Returns(new MessagingStatsResult { MessagingStats = messagingStatsInitializer }); var client = mockClient.Object; client.GetMessagingStats(MessagingStatsGroupBy.Month, DateTime.Now, DateTime.Today); mockClient.Verify(trc => trc.Execute <MessagingStatsResult>(It.IsAny <IRestRequest>()), Times.Once); Assert.IsNotNull(savedRequest); Assert.AreEqual("stats/messaging", savedRequest.Resource); Assert.AreEqual(Method.GET, savedRequest.Method); Assert.AreEqual(3, savedRequest.Parameters.Count); Assert.AreEqual("month", savedRequest.Parameters.Find(x => x.Name == "by").Value); var content = "{ \"resources\": [" + "{ \"replyRate\": 0.32, \"date\": null, \"deliveryRate\": 0.95, \"costs\": 21.00, \"messagesReceived\": 1085," + "\"messagesSentDelivered\": 123, \"messagesSentAccepted\": 44, \"messagesSentBuffered\": 535, \"messagesSentFailed\": 1, \"messagesSentRejected\": 50, \"messagesSentParts\": 150943 }" + "] }"; var testClient = Common.CreateClient <MessagingStatsResult>(content, null, null); client = new Client(testClient); var messagingStats = client.GetMessagingStats(MessagingStatsGroupBy.None, DateTime.Now, DateTime.Today); Assert.AreEqual(1, messagingStats.MessagingStats.Count); Assert.AreEqual(21.00, messagingStats.MessagingStats[0].Costs); Assert.AreEqual(0.95, messagingStats.MessagingStats[0].DeliveryRate); Assert.AreEqual(0.32, messagingStats.MessagingStats[0].ReplyRate); Assert.AreEqual(1085, messagingStats.MessagingStats[0].MessagesReceived); Assert.AreEqual(150943, messagingStats.MessagingStats[0].MessagesSentParts); Assert.AreEqual(123, messagingStats.MessagingStats[0].MessagesSentDelivered); Assert.AreEqual(44, messagingStats.MessagingStats[0].MessagesSentAccepted); Assert.AreEqual(535, messagingStats.MessagingStats[0].MessagesSentBuffered); Assert.AreEqual(1, messagingStats.MessagingStats[0].MessagesSentFailed); Assert.AreEqual(50, messagingStats.MessagingStats[0].MessagesSentRejected); }