From 13345813d9b7e420cbafc9b543deb495088ae32f Mon Sep 17 00:00:00 2001 From: virtyaluk Date: Fri, 30 Sep 2016 16:00:00 +0300 Subject: [PATCH 1/3] Adds age_limit property; end_date -> finish_date --- ModernDev.InTouch.Shared/Model/Group.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/ModernDev.InTouch.Shared/Model/Group.cs b/ModernDev.InTouch.Shared/Model/Group.cs index 81253c5..7f20315 100644 --- a/ModernDev.InTouch.Shared/Model/Group.cs +++ b/ModernDev.InTouch.Shared/Model/Group.cs @@ -241,7 +241,7 @@ public class Group : IProfileItem, IChatable, IStatusAudio /// Returned only for meeting and contain end time of the meeting. /// [DataMember] - [JsonProperty("end_date")] + [JsonProperty("finish_date")] [JsonConverter(typeof(JsonNumberDateTimeConverter))] public DateTime? EndDate { get; set; } @@ -386,6 +386,16 @@ public class Group : IProfileItem, IChatable, IStatusAudio [JsonProperty("status_audio")] public Audio StatusAudio { get; set; } + /// + /// Age limit: + /// 1 - no limit; + /// 2 - 16+; + /// 3 - 18+. + /// + [DataMember] + [JsonProperty("age_limits")] + public int AgeLimits { get; set; } + #endregion #endregion } From cfc75b4d91cd3c1992c15ee57ccfe89a6043792d Mon Sep 17 00:00:00 2001 From: virtyaluk Date: Fri, 30 Sep 2016 17:00:00 +0300 Subject: [PATCH 2/3] Adds new groups methods for Callback API --- .../API/Methods/GroupsMethods.cs | 98 +++++++++++-- .../GroupsSetCallbackSettingsParams.cs | 110 ++++++++++++++ .../Model/CallbackServerSettings.cs | 43 ++++++ .../Model/CallbackServerState.cs | 28 ++++ .../Model/CallbackSettings.cs | 138 ++++++++++++++++++ 5 files changed, 405 insertions(+), 12 deletions(-) create mode 100644 ModernDev.InTouch.Shared/API/MethodsParams/GroupsSetCallbackSettingsParams.cs create mode 100644 ModernDev.InTouch.Shared/Model/CallbackServerSettings.cs create mode 100644 ModernDev.InTouch.Shared/Model/CallbackServerState.cs create mode 100644 ModernDev.InTouch.Shared/Model/CallbackSettings.cs diff --git a/ModernDev.InTouch.Shared/API/Methods/GroupsMethods.cs b/ModernDev.InTouch.Shared/API/Methods/GroupsMethods.cs index 99aa402..26bdb47 100644 --- a/ModernDev.InTouch.Shared/API/Methods/GroupsMethods.cs +++ b/ModernDev.InTouch.Shared/API/Methods/GroupsMethods.cs @@ -96,7 +96,7 @@ public async Task>> GetMembers(GroupsGetMembersParams m /// /// ID or screen name of the community. /// Optional parameter which is taken into account when gid belongs to the event: True — Perhaps I will attend; False — I will be there for sure(default) - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> Join(object groupId = null, bool notSure = false) => await Request("join", new MethodParams { @@ -108,7 +108,7 @@ public async Task> Join(object groupId = null, bool notSure = fal /// With this method you can leave a group, public page, or event. /// /// ID or screen name of the community. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> Leave(object groupId) => await Request("leave", new MethodParams { @@ -193,7 +193,7 @@ public async Task>> GetInvitedUsers(int groupId, int co /// Reason for ban. /// Text of comment to ban. /// True — text of comment will be visible to the user; False — text of comment will be invisible to the user(default) - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> BanUser(int groupId, int userId, DateTime? endDate = null, BanTypes reason = BanTypes.Other, string comment = null, bool commentVisible = false) => await Request("banUser", new MethodParams @@ -211,7 +211,7 @@ public async Task> BanUser(int groupId, int userId, DateTime? end /// /// Community ID. /// User ID. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> UnbanUser(int groupId, int userId) => await Request("unbanUser", new MethodParams { @@ -262,7 +262,7 @@ public async Task> Create(string title, string description = nul /// You must be a community administrator to use this method /// /// object containing method params. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> Edit(GroupsEditParams methodParams) => await Request("edit", methodParams); @@ -306,7 +306,7 @@ public async Task>> GetRequests(int groupId, int count /// Allows to assign or demote community's manager, or to change the level of the existing manager. /// /// object containing method params. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> EditManager(GroupsEditManagerParams methodParams) => await Request("editManager", methodParams); @@ -315,7 +315,7 @@ public async Task> EditManager(GroupsEditManagerParams methodPara /// /// Community ID. /// User Id. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> Invite(int groupId, int userId) => await Request("invite", new MethodParams { @@ -343,7 +343,7 @@ public async Task> AddLink(int groupId, string link, str /// /// Community ID. /// Link Id. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> DeleteLink(int groupId, int linkId) => await Request("deleteLink", new MethodParams { @@ -357,7 +357,7 @@ public async Task> DeleteLink(int groupId, int linkId) /// Community ID. /// Link Id. /// New link text. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> EditLink(int groupId, int linkId, string text = null) => await Request("editLink", new MethodParams { @@ -372,7 +372,7 @@ public async Task> EditLink(int groupId, int linkId, string text /// Community ID. /// Link Id. /// Link Id after which you want to place movable link. 0 - if you want to place the link at the top spot. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> ReorderLink(int groupId, int linkId, int after = 0) => await Request("reorderLink", new MethodParams { @@ -386,7 +386,7 @@ public async Task> ReorderLink(int groupId, int linkId, int after /// /// Community ID. /// User Id. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> RemoveUser(int groupId, int userId) => await Request("removeUser", new MethodParams { @@ -399,7 +399,7 @@ public async Task> RemoveUser(int groupId, int userId) /// /// Community ID. /// User Id. - /// Returns True if the user installed the application; otherwise returns False. + /// If successfully executed, returns True. public async Task> ApproveRequest(int groupId, int userId) => await Request("approveRequest", new MethodParams { @@ -407,6 +407,80 @@ public async Task> ApproveRequest(int groupId, int userId) {"user_id", userId, true} }); + #region Callback methods + + /// + /// Returns Callback API confirmation code for the community. + /// + /// Community ID. + /// Returns a string with the confirmation code. + public async Task> GetCallbackConfirmationCode(int groupId) + => await Request("getCallbackConfirmationCode", new MethodParams + { + {"group_id", groupId, true} + }, false, "code"); + + /// + /// Returns Callback API server settings for the community. + /// + /// Community ID. + /// Returns object. + public async Task> GetCallbackServerSettings(int groupId) + => await Request("getCallbackServerSettings", new MethodParams + { + {"group_id", groupId, true} + }); + + /// + /// Returns Callback API notifications settings. + /// + /// Community ID. + /// Returns object. + public async Task> GetCallbackSettings(int groupId) + => await Request("getCallbackSettings", new MethodParams + { + {"group_id", groupId, true} + }); + + /// + /// Allow to set Callback API server URL for the community. + /// + /// To confirm the connection, your server should return a string with a confirmation code. + /// You can get thus code using method. + /// + /// Community ID. + /// Server URL. + /// Returns object. + public async Task> SetCallbackServer(int groupId, string serverUrl) + => await Request("setCallbackServer", new MethodParams + { + {"group_id", groupId, true}, + {"server_url", serverUrl, true} + }); + + /// + /// Allow to set Callback API server settings. + /// + /// Community ID. + /// Callback API secret key. + /// If successfully executed, returns True. + public async Task> SetCallbackServerSettings(int groupId, string secretKey) + => await Request("setCallbackServerSettings", new MethodParams + { + {"group_id", groupId, true}, + {"secretKey", secretKey, true} + }); + + /// + /// Allow to set notifications settings for Callback API. + /// + /// object containing method params. + /// If successfully executed, returns True. + public async Task> SetCallbackSettings(GroupsSetCallbackSettingsParams methodParams) + => await Request("setCallbackSettings", methodParams); + + #endregion + #endregion } } \ No newline at end of file diff --git a/ModernDev.InTouch.Shared/API/MethodsParams/GroupsSetCallbackSettingsParams.cs b/ModernDev.InTouch.Shared/API/MethodsParams/GroupsSetCallbackSettingsParams.cs new file mode 100644 index 0000000..a971ef4 --- /dev/null +++ b/ModernDev.InTouch.Shared/API/MethodsParams/GroupsSetCallbackSettingsParams.cs @@ -0,0 +1,110 @@ +namespace ModernDev.InTouch +{ + /// + /// A class describes a method params. + /// + public class GroupsSetCallbackSettingsParams : MethodParamsGroup + { + /// + /// Community ID. + /// + [MethodParam(Name ="group_id", IsRequired = true)] + public int GroupId { get; set; } + + /// + /// New messages notifications. + /// + [MethodParam(Name = "message_new")] + public bool MessageNew { get; set; } + + /// + /// New photos notifications. + /// + [MethodParam(Name = "photo_new")] + public bool PhotoNew { get; set; } + + /// + /// New audios notifications. + /// + [MethodParam(Name = "audio_new")] + public bool AudioNew { get; set; } + + /// + /// New videos notifications. + /// + [MethodParam(Name = "video_new")] + public bool VideoNew { get; set; } + + /// + /// New wall replies notifications. + /// + [MethodParam(Name = "wall_reply_new")] + public bool WallReplyNew { get; set; } + + /// + /// Wall replies edited notifications. + /// + [MethodParam(Name = "wall_reply_edit")] + public bool WallReplyEdit { get; set; } + + /// + /// New wall posts notifications. + /// + [MethodParam(Name = "wall_post_new")] + public bool WallPostNew { get; set; } + + /// + /// New board posts notifications. + /// + [MethodParam(Name = "board_post_new")] + public bool BoardPostNew { get; set; } + + /// + /// Board posts edited notifications. + /// + [MethodParam(Name = "board_post_edit")] + public bool BoardPostEdit { get; set; } + + /// + /// Board posts restored notifications + /// + [MethodParam(Name = "board_post_restore")] + public bool BoardPostRestore { get; set; } + + /// + /// Board posts deleted notifications. + /// + [MethodParam(Name = "board_post_delete")] + public bool BoardPostDelete { get; set; } + + /// + /// New comment to photo notifications. + /// + [MethodParam(Name = "photo_comment_new")] + public bool PhotoCommentNew { get; set; } + + /// + /// New comment to video notifications. + /// + [MethodParam(Name = "video_comment_new")] + public bool VideoCommentNew { get; set; } + + /// + /// New comment to market item notifications. + /// + [MethodParam(Name = "market_comment_new")] + public bool MarketCommentNew { get; set; } + + /// + /// Joined community notifications. + /// + [MethodParam(Name = "group_join")] + public bool GroupJoin { get; set; } + + /// + /// Left community notifications. + /// + [MethodParam(Name = "group_leave")] + public bool GroupLeave { get; set; } + } +} \ No newline at end of file diff --git a/ModernDev.InTouch.Shared/Model/CallbackServerSettings.cs b/ModernDev.InTouch.Shared/Model/CallbackServerSettings.cs new file mode 100644 index 0000000..97a4457 --- /dev/null +++ b/ModernDev.InTouch.Shared/Model/CallbackServerSettings.cs @@ -0,0 +1,43 @@ +/** + * This file\code is part of InTouch project. + * + * InTouch - is a .NET wrapper for the vk.com API. + * https://github.com/virtyaluk/InTouch + * + * Copyright (c) 2016 Bohdan Shtepan + * http://modern-dev.com/ + * + * Licensed under the GPLv3 license. + */ + +using System.Diagnostics; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace ModernDev.InTouch +{ + /// + /// A class describes callback server settings. + /// + [DebuggerDisplay("CallbackServerSettings")] + [DataContract] + public class CallbackServerSettings + { + #region Properties + + /// + /// Server URL. + /// + [JsonProperty("server_url")] + [DataMember] + public string ServerUrl { get; set; } + + /// + /// Secret key. + /// + [JsonProperty("secret_key")] + [DataMember] + public string SecretKey { get; set; } + #endregion + } +} diff --git a/ModernDev.InTouch.Shared/Model/CallbackServerState.cs b/ModernDev.InTouch.Shared/Model/CallbackServerState.cs new file mode 100644 index 0000000..feee481 --- /dev/null +++ b/ModernDev.InTouch.Shared/Model/CallbackServerState.cs @@ -0,0 +1,28 @@ +using System.Diagnostics; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace ModernDev.InTouch +{ + /// + /// A class describes Callback API server state. + /// + [DebuggerDisplay("CallbackServerState {State}")] + [DataContract] + public class CallbackServerState + { + /// + /// State code. + /// + [JsonProperty("state_code")] + [DataMember] + public int StateCode { get; set; } + + /// + /// State message. + /// + [JsonProperty("state")] + [DataMember] + public string State { get; set; } + } +} \ No newline at end of file diff --git a/ModernDev.InTouch.Shared/Model/CallbackSettings.cs b/ModernDev.InTouch.Shared/Model/CallbackSettings.cs new file mode 100644 index 0000000..73a35e5 --- /dev/null +++ b/ModernDev.InTouch.Shared/Model/CallbackSettings.cs @@ -0,0 +1,138 @@ +/** + * This file\code is part of InTouch project. + * + * InTouch - is a .NET wrapper for the vk.com API. + * https://github.com/virtyaluk/InTouch + * + * Copyright (c) 2016 Bohdan Shtepan + * http://modern-dev.com/ + * + * Licensed under the GPLv3 license. + */ + +using System.Diagnostics; +using System.Runtime.Serialization; +using Newtonsoft.Json; + +namespace ModernDev.InTouch +{ + /// + /// A class describes notifications settings for Callback API. + /// + [DebuggerDisplay("CallbackSettings")] + [DataContract] + public class CallbackSettings + { + /// + /// New message. + /// + [DataMember] + [JsonProperty("message_new")] + public bool MessageNew { get; set; } + + /// + /// New comment on wall. + /// + [DataMember] + [JsonProperty("wall_reply_new")] + public bool WallReplyNew { get; set; } + + /// + /// Edited comment on wall . + /// + [DataMember] + [JsonProperty("wall_reply_edit")] + public bool WallReplyEdit { get; set; } + + /// + /// New comment in topic. + /// + [DataMember] + [JsonProperty("board_post_new")] + public bool BoardPostNew { get; set; } + + /// + /// Edited comment in topic. + /// + [DataMember] + [JsonProperty("board_post_edit")] + public bool BoardPostEdit { get; set; } + + /// + /// Deleted comment in topic. + /// + [DataMember] + [JsonProperty("board_post_delete")] + public bool BoardPostDelete { get; set; } + + /// + /// Restored comment in topic. + /// + [DataMember] + [JsonProperty("board_post_restore")] + public bool BoardPostRestore { get; set; } + + /// + /// New photo. + /// + [DataMember] + [JsonProperty("photo_new")] + public bool PhotoNew { get; set; } + + /// + /// New video. + /// + [DataMember] + [JsonProperty("video_new")] + public bool VideoNew { get; set; } + + /// + /// New audio. + /// + [DataMember] + [JsonProperty("audio_new")] + public bool AudioNew { get; set; } + + /// + /// New comment to photo. + /// + [DataMember] + [JsonProperty("photo_comment_new")] + public bool PhotoCommentNew { get; set; } + + /// + /// New comment to video. + /// + [DataMember] + [JsonProperty("video_comment_new")] + public bool VideoCommentNew { get; set; } + + /// + /// New comment to market item. + /// + [DataMember] + [JsonProperty("market_comment_new")] + public bool MarketCommentNew { get; set; } + + /// + /// Joined community. + /// + [DataMember] + [JsonProperty("group_join")] + public bool GroupJoin { get; set; } + + /// + /// Left community. + /// + [DataMember] + [JsonProperty("group_leave")] + public bool GroupLeave { get; set; } + + /// + /// New post on the wall. + /// + [DataMember] + [JsonProperty("wall_post_new")] + public bool WallPostNew { get; set; } + } +} \ No newline at end of file From 64222ce1224f1ca93b305745f774b835f02132a0 Mon Sep 17 00:00:00 2001 From: virtyaluk Date: Fri, 30 Sep 2016 17:10:00 +0300 Subject: [PATCH 3/3] Adds test cases for new methods --- .../ModernDev.InTouch.Shared.projitems | 4 ++ ModernDev.InTouch.Tests/Ex.cs | 10 ++- ModernDev.InTouch.Tests/GroupsMethodsTests.cs | 62 +++++++++++++++++++ .../MockJsonResponses.Designer.cs | 36 +++++++++++ .../MockJsonResponses.resx | 12 ++++ 5 files changed, 123 insertions(+), 1 deletion(-) diff --git a/ModernDev.InTouch.Shared/ModernDev.InTouch.Shared.projitems b/ModernDev.InTouch.Shared/ModernDev.InTouch.Shared.projitems index 4927ec3..ce25a8f 100644 --- a/ModernDev.InTouch.Shared/ModernDev.InTouch.Shared.projitems +++ b/ModernDev.InTouch.Shared/ModernDev.InTouch.Shared.projitems @@ -37,6 +37,7 @@ + @@ -216,6 +217,9 @@ + + + diff --git a/ModernDev.InTouch.Tests/Ex.cs b/ModernDev.InTouch.Tests/Ex.cs index c1926fa..c7ea2e4 100644 --- a/ModernDev.InTouch.Tests/Ex.cs +++ b/ModernDev.InTouch.Tests/Ex.cs @@ -234,7 +234,15 @@ public static InTouch GetMockedClient(string cat = null, bool setSessionData = t .WhenAndRespond($"{cat}.editLink", Responses.GetString("responseTrue")) .WhenAndRespond($"{cat}.reorderLink", Responses.GetString("responseTrue")) .WhenAndRespond($"{cat}.removeUser", Responses.GetString("responseTrue")) - .WhenAndRespond($"{cat}.approveRequest", Responses.GetString("responseTrue")); + .WhenAndRespond($"{cat}.approveRequest", Responses.GetString("responseTrue")) + .WhenAndRespond($"{cat}.getCallbackConfirmationCode", + Responses.GetString("getCallbackConfirmationCode")) + .WhenAndRespond($"{cat}.getCallbackServerSettings", + Responses.GetString("getCallbackServerSettings")) + .WhenAndRespond($"{cat}.getCallbackSettings", Responses.GetString("getCallbackSettings")) + .WhenAndRespond($"{cat}.setCallbackServer", Responses.GetString("setCallbackServer")) + .WhenAndRespond($"{cat}.setCallbackServerSettings", Responses.GetString("responseTrue")) + .WhenAndRespond($"{cat}.setCallbackSettings", Responses.GetString("responseTrue")); break; case "likes": diff --git a/ModernDev.InTouch.Tests/GroupsMethodsTests.cs b/ModernDev.InTouch.Tests/GroupsMethodsTests.cs index 8703616..0ae2ed0 100644 --- a/ModernDev.InTouch.Tests/GroupsMethodsTests.cs +++ b/ModernDev.InTouch.Tests/GroupsMethodsTests.cs @@ -308,6 +308,68 @@ public async Task ApproveRequest() IsTrue(resp.Data, "resp.Data"); } + [Test] + public async Task GetCallbackConfirmationCode() + { + var resp = await _inTouch.Groups.GetCallbackConfirmationCode(1); + + IsFalse(resp.IsError, "resp.IsError"); + AreEqual(resp.Data, "confirmationCode"); + } + + [Test] + public async Task GetCallbackServerSettingsT() + { + var resp = await _inTouch.Groups.GetCallbackServerSettings(1); + + IsFalse(resp.IsError, "resp.IsError"); + IsNotNull(resp.Data, "resp.Data != null"); + AreEqual(resp.Data.SecretKey, "secretKey"); + } + + [Test] + public async Task GetCallbackSettings() + { + var resp = await _inTouch.Groups.GetCallbackSettings(1); + + IsFalse(resp.IsError, "resp.IsError"); + IsNotNull(resp.Data, "resp.Data != null"); + IsTrue(resp.Data.MessageNew, "resp.Data.MessageNew"); + IsFalse(resp.Data.WallReplyNew, "resp.Data.WallReplyNew"); + } + + [Test] + public async Task SetCallbackServer() + { + var resp = await _inTouch.Groups.SetCallbackServer(1, "serverUrl"); + + IsFalse(resp.IsError, "resp.IsError"); + IsNotNull(resp.Data, "resp.Data != null"); + AreEqual(resp.Data.StateCode, 1); + } + + [Test] + public async Task SetCallbackServerSettings() + { + var resp = await _inTouch.Groups.SetCallbackServerSettings(1, "secretKey"); + + IsFalse(resp.IsError, "resp.IsError"); + IsTrue(resp.Data, "resp.Data"); + } + + [Test] + public async Task SetCallbackSettings() + { + var resp = await _inTouch.Groups.SetCallbackSettings(new GroupsSetCallbackSettingsParams + { + GroupId = 1, + MessageNew = true + }); + + IsFalse(resp.IsError, "resp.IsError"); + IsTrue(resp.Data, "resp.Data"); + } + [OneTimeTearDown] public void TestTearDown() { diff --git a/ModernDev.InTouch.Tests/MockJsonResponses.Designer.cs b/ModernDev.InTouch.Tests/MockJsonResponses.Designer.cs index f4f3423..b396a89 100644 --- a/ModernDev.InTouch.Tests/MockJsonResponses.Designer.cs +++ b/ModernDev.InTouch.Tests/MockJsonResponses.Designer.cs @@ -378,6 +378,33 @@ internal static string friendsLists { } } + /// + /// Looks up a localized string similar to {"response":{"code":"confirmationCode"}}. + /// + internal static string getCallbackConfirmationCode { + get { + return ResourceManager.GetString("getCallbackConfirmationCode", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {"response":{"secret_key":"secretKey","server_url":"serverUrl"}}. + /// + internal static string getCallbackServerSettings { + get { + return ResourceManager.GetString("getCallbackServerSettings", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {"response":{"message_new":true,"wall_reply_new":false}}. + /// + internal static string getCallbackSettings { + get { + return ResourceManager.GetString("getCallbackSettings", resourceCulture); + } + } + /// /// Looks up a localized string similar to {"response":{"count":3,"items":[{"id":653008904,"from_id":165146081,"message":"","date":1458403595,"gift":{"id":770,"thumb_256":"https://vk.com/images/gift/770/256.jpg","thumb_96":"https://vk.com/images/gift/770/96.png","thumb_48":"https://vk.com/images/gift/770/48.png"},"privacy":1,"gift_hash":"eOwGaCj1Rc6Itu7T*RdRaIXHIlol27m*cXSHlBbQk0fFvGK4W8yxcKT0c8AcMcYST9FoViFMJoPFY*SOX/t1GLHumPjtYCbbYcwA8lE4WO2sydjoVzs8nKGfZS8*HBNQU6z6CZgxct2qFCCA2iyLDmM4j9jpcbU3MpMwdC1EWcM-"},{"id":653006597,"from_id":165146081,"mes [rest of string was truncated]";. /// @@ -891,6 +918,15 @@ internal static string serverTime { } } + /// + /// Looks up a localized string similar to {"response":{"state_code":1,"state":"ok"}}. + /// + internal static string setCallbackServer { + get { + return ResourceManager.GetString("setCallbackServer", resourceCulture); + } + } + /// /// Looks up a localized string similar to {"response":{"changed":1,"name_request":{"id":12345,"status":"processing","first_name":"Bohdan","last_name":"Shtepan"}}}. /// diff --git a/ModernDev.InTouch.Tests/MockJsonResponses.resx b/ModernDev.InTouch.Tests/MockJsonResponses.resx index dc17432..056cec5 100644 --- a/ModernDev.InTouch.Tests/MockJsonResponses.resx +++ b/ModernDev.InTouch.Tests/MockJsonResponses.resx @@ -592,4 +592,16 @@ {"error":{"error_code":5,"error_msg":"User authorization failed: access_token was given to another ip address.","request_params":[{"key":"oauth","value":"1"},{"key":"foo","value":"bar"}]}} + + {"response":{"code":"confirmationCode"}} + + + {"response":{"secret_key":"secretKey","server_url":"serverUrl"}} + + + {"response":{"message_new":true,"wall_reply_new":false}} + + + {"response":{"state_code":1,"state":"ok"}} + \ No newline at end of file