From 7cad855f9c282e57077661c91dc2a5f956c00a5e Mon Sep 17 00:00:00 2001 From: Tobias Klika Date: Tue, 17 Jun 2014 10:14:26 +0200 Subject: [PATCH] return correct response status for "Send" --- PocketSharp.Tests/AddTests.cs | 25 +++++++++++++++++++++++++ PocketSharp/Models/Response/Modify.cs | 4 ++-- PocketSharp/PocketClient.cs | 4 +++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/PocketSharp.Tests/AddTests.cs b/PocketSharp.Tests/AddTests.cs index 00bcd0b..997b7e8 100644 --- a/PocketSharp.Tests/AddTests.cs +++ b/PocketSharp.Tests/AddTests.cs @@ -65,5 +65,30 @@ namespace PocketSharp.Tests itemsToDelete.Add(item.ID); } + + + [Fact] + public async Task ItemViaActionsIsAdded() + { + var uri = new Uri("http://frontendplay.com/story/4015/string-indexer-for-text-resources-in-nancy"); + + PocketAction action = new PocketAction() + { + Uri = uri, + Action = "add", + Time = DateTime.Now + }; + + bool success = await client.SendAction(action); + + Assert.True(success); + + IEnumerable items = await client.Search("String Indexer"); + + Assert.NotNull(items); + Assert.True(items.Count() > 0); + + itemsToDelete.Add(items.First().ID); + } } } diff --git a/PocketSharp/Models/Response/Modify.cs b/PocketSharp/Models/Response/Modify.cs index 38a3c38..24895c4 100644 --- a/PocketSharp/Models/Response/Modify.cs +++ b/PocketSharp/Models/Response/Modify.cs @@ -14,7 +14,7 @@ namespace PocketSharp.Models /// /// The action results. /// - //[JsonProperty("action_results")] - //public bool[] ActionResults { get; set; } + [JsonProperty("action_results")] + public bool[] ActionResults { get; set; } } } diff --git a/PocketSharp/PocketClient.cs b/PocketSharp/PocketClient.cs index f60de80..91942fa 100644 --- a/PocketSharp/PocketClient.cs +++ b/PocketSharp/PocketClient.cs @@ -316,7 +316,9 @@ namespace PocketSharp "actions", JsonConvert.SerializeObject(actionParameters.Select(action => action.Convert())) }}; - return (await Request("send", cancellationToken, parameters)).Status; + Modify result = (await Request("send", cancellationToken, parameters)); + + return result.ActionResults != null ? !result.ActionResults.Contains(false) : result.Status; }