1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-08-13 20:05:19 +02:00
This commit is contained in:
Anton
2024-06-22 14:24:44 +03:00
14 changed files with 848 additions and 316 deletions

Binary file not shown.

View File

@@ -0,0 +1,21 @@
 {
"result": {
"ID": "18",
"NAME": "Новое имя хранилища",
"CODE": null,
"MODULE_ID": "disk",
"ENTITY_TYPE": "restapp",
"ENTITY_ID": "2",
"ROOT_OBJECT_ID": "464"
},
"time": {
"start": 1719047246.29499,
"finish": 1719047246.35783,
"duration": 0.062842845916748,
"processing": 0.0317339897155762,
"date_start": "2024-06-22T09:07:26+00:00",
"date_finish": "2024-06-22T09:07:26+00:00",
"operating_reset_at": 1719047846,
"operating": 0
}
}

View File

@@ -0,0 +1,55 @@
 {
"result": [
{
"ID": "568",
"NAME": "Картинка2.jpg",
"CODE": null,
"STORAGE_ID": "3",
"TYPE": "file",
"PARENT_ID": "3",
"DELETED_TYPE": "0",
"GLOBAL_CONTENT_VERSION": "1",
"FILE_ID": "558",
"SIZE": "2114023",
"CREATE_TIME": "2024-06-22T09:07:30+00:00",
"UPDATE_TIME": "2024-06-22T09:07:30+00:00",
"DELETE_TIME": null,
"CREATED_BY": "1",
"UPDATED_BY": "1",
"DELETED_BY": "0",
"DOWNLOAD_URL": "https://b24-ar17wx.bitrix24.by/rest/1/4swokunb3tk7h7dt/download/?token=disk%7CaWQ9NTY4Jl89SHlraTVBbnJZY1FHRVptZzlGVDR3TXpXeWJQazF3YjQ%3D%7CImRvd25sb2FkfGRpc2t8YVdROU5UWTRKbDg5U0hscmFUVkJibkpaWTFGSFJWcHRaemxHVkRSM1RYcFhlV0pRYXpGM1lqUT18MXw0c3dva3VuYjN0azdoN2R0Ig%3D%3D.wHRm%2BvfCe8zQPCO3qryQHdMQEW9qYPhc5GqAVN8lNHs%3D",
"DETAIL_URL": "https://b24-ar17wx.bitrix24.by/docs/file/Картинка2.jpg"
},
{
"ID": "570",
"NAME": "Картинка1.jpg",
"CODE": null,
"STORAGE_ID": "3",
"TYPE": "file",
"PARENT_ID": "3",
"DELETED_TYPE": "0",
"GLOBAL_CONTENT_VERSION": "1",
"FILE_ID": "560",
"SIZE": "805189",
"CREATE_TIME": "2024-06-22T09:07:32+00:00",
"UPDATE_TIME": "2024-06-22T09:07:32+00:00",
"DELETE_TIME": null,
"CREATED_BY": "1",
"UPDATED_BY": "1",
"DELETED_BY": "0",
"DOWNLOAD_URL": "https://b24-ar17wx.bitrix24.by/rest/1/4swokunb3tk7h7dt/download/?token=disk%7CaWQ9NTcwJl89UllucWRuaDUwUTRaSXZGMUlSemlNWUhqMFk3Q0FPaXI%3D%7CImRvd25sb2FkfGRpc2t8YVdROU5UY3dKbDg5VWxsdWNXUnVhRFV3VVRSYVNYWkdNVWxTZW1sTldVaHFNRmszUTBGUGFYST18MXw0c3dva3VuYjN0azdoN2R0Ig%3D%3D.MuWJn4simqTvpRERg3BEHN50At6bc4PW1S0eLtT5HiI%3D",
"DETAIL_URL": "https://b24-ar17wx.bitrix24.by/docs/file/Картинка1.jpg"
}
],
"total": 2,
"time": {
"start": 1719047252.81489,
"finish": 1719047252.8601,
"duration": 0.0452079772949219,
"processing": 0.0158112049102783,
"date_start": "2024-06-22T09:07:32+00:00",
"date_finish": "2024-06-22T09:07:32+00:00",
"operating_reset_at": 1719047852,
"operating": 0
}
}

View File

@@ -0,0 +1,55 @@
 {
"result": [
{
"ID": "568",
"NAME": "Картинка2.jpg",
"CODE": null,
"STORAGE_ID": "3",
"TYPE": "file",
"PARENT_ID": "3",
"DELETED_TYPE": "0",
"GLOBAL_CONTENT_VERSION": "1",
"FILE_ID": "558",
"SIZE": "2114023",
"CREATE_TIME": "2024-06-22T09:07:30+00:00",
"UPDATE_TIME": "2024-06-22T09:07:30+00:00",
"DELETE_TIME": null,
"CREATED_BY": "1",
"UPDATED_BY": "1",
"DELETED_BY": "0",
"DOWNLOAD_URL": "https://b24-ar17wx.bitrix24.by/rest/download.json?auth=efa17666006e9f06006b12e400000001000007b2f26f9898812ad669fd7da83d478d1a&token=disk%7CaWQ9NTY4Jl89NnBxNndlcmpudjQwY0tHNnZhdVN2VHZ2TTYwSmFFSXA%3D%7CImRvd25sb2FkfGRpc2t8YVdROU5UWTRKbDg5Tm5CeE5uZGxjbXB1ZGpRd1kwdEhOblpoZFZOMlZIWjJUVFl3U21GRlNYQT18ZWZhMTc2NjYwMDZlOWYwNjAwNmIxMmU0MDAwMDAwMDEwMDAwMDdiMmYyNmY5ODk4ODEyYWQ2NjlmZDdkYTgzZDQ3OGQxYSI%3D.qSfz7Ap6RM8nwlRRrw4lqlYcNQoHQJMcdzSbvlLHw60%3D",
"DETAIL_URL": "https://b24-ar17wx.bitrix24.by/docs/file/Картинка2.jpg"
},
{
"ID": "570",
"NAME": "Картинка1.jpg",
"CODE": null,
"STORAGE_ID": "3",
"TYPE": "file",
"PARENT_ID": "3",
"DELETED_TYPE": "0",
"GLOBAL_CONTENT_VERSION": "1",
"FILE_ID": "560",
"SIZE": "805189",
"CREATE_TIME": "2024-06-22T09:07:32+00:00",
"UPDATE_TIME": "2024-06-22T09:07:32+00:00",
"DELETE_TIME": null,
"CREATED_BY": "1",
"UPDATED_BY": "1",
"DELETED_BY": "0",
"DOWNLOAD_URL": "https://b24-ar17wx.bitrix24.by/rest/download.json?auth=efa17666006e9f06006b12e400000001000007b2f26f9898812ad669fd7da83d478d1a&token=disk%7CaWQ9NTcwJl89SmpkOWlyMGpwS1N1TEI1aWxIWWxtU0JtTllsT1BoNVI%3D%7CImRvd25sb2FkfGRpc2t8YVdROU5UY3dKbDg5U21wa09XbHlNR3B3UzFOMVRFSTFhV3hJV1d4dFUwSnRUbGxzVDFCb05WST18ZWZhMTc2NjYwMDZlOWYwNjAwNmIxMmU0MDAwMDAwMDEwMDAwMDdiMmYyNmY5ODk4ODEyYWQ2NjlmZDdkYTgzZDQ3OGQxYSI%3D.X8XQ3FtYG30XrOGGxoO1p%2FXistiComyxQei37Xh%2B%2FIM%3D",
"DETAIL_URL": "https://b24-ar17wx.bitrix24.by/docs/file/Картинка1.jpg"
}
],
"total": 2,
"time": {
"start": 1719047253.42516,
"finish": 1719047253.47205,
"duration": 0.0468947887420654,
"processing": 0.016359806060791,
"date_start": "2024-06-22T09:07:33+00:00",
"date_finish": "2024-06-22T09:07:33+00:00",
"operating_reset_at": 1719047853,
"operating": 0
}
}

View File

@@ -0,0 +1,21 @@
 {
"result": {
"ID": "18",
"NAME": "New storage name",
"CODE": null,
"MODULE_ID": "disk",
"ENTITY_TYPE": "restapp",
"ENTITY_ID": "2",
"ROOT_OBJECT_ID": "464"
},
"time": {
"start": 1719047245.69644,
"finish": 1719047245.72887,
"duration": 0.0324292182922363,
"processing": 0.00426101684570312,
"date_start": "2024-06-22T09:07:25+00:00",
"date_finish": "2024-06-22T09:07:25+00:00",
"operating_reset_at": 1719047845,
"operating": 0
}
}

View File

@@ -0,0 +1,21 @@
 {
"result": {
"ID": "3",
"NAME": "Общий диск",
"CODE": null,
"MODULE_ID": "disk",
"ENTITY_TYPE": "common",
"ENTITY_ID": "shared_files_s1",
"ROOT_OBJECT_ID": "3"
},
"time": {
"start": 1719047246.98121,
"finish": 1719047247.01442,
"duration": 0.0332071781158447,
"processing": 0.00487422943115234,
"date_start": "2024-06-22T09:07:26+00:00",
"date_finish": "2024-06-22T09:07:27+00:00",
"operating_reset_at": 1719047847,
"operating": 0
}
}

View File

@@ -0,0 +1,21 @@
 {
"result": {
"ID": "3",
"NAME": "Общий диск",
"CODE": null,
"MODULE_ID": "disk",
"ENTITY_TYPE": "common",
"ENTITY_ID": "shared_files_s1",
"ROOT_OBJECT_ID": "3"
},
"time": {
"start": 1719047247.65416,
"finish": 1719047247.68963,
"duration": 0.0354659557342529,
"processing": 0.00417995452880859,
"date_start": "2024-06-22T09:07:27+00:00",
"date_finish": "2024-06-22T09:07:27+00:00",
"operating_reset_at": 1719047847,
"operating": 0
}
}

View File

@@ -0,0 +1,29 @@
 {
"result": {
"ID": 572,
"NAME": "Новый каталог 2",
"CODE": null,
"STORAGE_ID": "3",
"TYPE": "folder",
"REAL_OBJECT_ID": 572,
"PARENT_ID": "3",
"DELETED_TYPE": 0,
"CREATE_TIME": "2024-06-22T09:07:35+00:00",
"UPDATE_TIME": "2024-06-22T09:07:35+00:00",
"DELETE_TIME": null,
"CREATED_BY": "1",
"UPDATED_BY": "1",
"DELETED_BY": null,
"DETAIL_URL": "https://b24-ar17wx.bitrix24.by/docs/path/Новый каталог 2"
},
"time": {
"start": 1719047255.57159,
"finish": 1719047255.6344,
"duration": 0.062812089920044,
"processing": 0.0351529121398926,
"date_start": "2024-06-22T09:07:35+00:00",
"date_finish": "2024-06-22T09:07:35+00:00",
"operating_reset_at": 1719047855,
"operating": 0
}
}

View File

@@ -0,0 +1,29 @@
 {
"result": {
"ID": 574,
"NAME": "Новый каталог",
"CODE": null,
"STORAGE_ID": "3",
"TYPE": "folder",
"REAL_OBJECT_ID": 574,
"PARENT_ID": "3",
"DELETED_TYPE": 0,
"CREATE_TIME": "2024-06-22T09:07:36+00:00",
"UPDATE_TIME": "2024-06-22T09:07:36+00:00",
"DELETE_TIME": null,
"CREATED_BY": "1",
"UPDATED_BY": "1",
"DELETED_BY": null,
"DETAIL_URL": "https://b24-ar17wx.bitrix24.by/docs/path/Новый каталог"
},
"time": {
"start": 1719047256.22025,
"finish": 1719047256.27758,
"duration": 0.057330846786499,
"processing": 0.0276291370391846,
"date_start": "2024-06-22T09:07:36+00:00",
"date_finish": "2024-06-22T09:07:36+00:00",
"operating_reset_at": 1719047856,
"operating": 0
}
}

View File

@@ -0,0 +1,13 @@
 {
"result": true,
"time": {
"start": 1719047256.8433,
"finish": 1719047256.89145,
"duration": 0.0481469631195068,
"processing": 0.0208721160888672,
"date_start": "2024-06-22T09:07:36+00:00",
"date_finish": "2024-06-22T09:07:36+00:00",
"operating_reset_at": 1719047856,
"operating": 0
}
}

View File

@@ -0,0 +1,13 @@
 {
"result": true,
"time": {
"start": 1719047257.50616,
"finish": 1719047257.55445,
"duration": 0.048285961151123,
"processing": 0.0174880027770996,
"date_start": "2024-06-22T09:07:37+00:00",
"date_finish": "2024-06-22T09:07:37+00:00",
"operating_reset_at": 1719047857,
"operating": 0
}
}

View File

@@ -522,161 +522,24 @@ EndProcedure
Procedure VKAPI_CreateProductWithProperties() Export
Parameters = GetVKParameters();
TypeMap = Type("Map");
TypeNumber = Type("Number");
MII_ = "market_item_id";
Response_ = "response";
Yellow_ = "Yellow";
Red_ = "Red";
Image = OPI_TestDataRetrieval.GetBinary("Picture");
TFN = GetTempFileName("png");
Image.Write(TFN);
OptionArray = New Array;
OptionArray.Add(Yellow_);
OptionArray.Add("Blue");
OptionArray.Add(Red_);
Result = OPI_VK.CreateProductProperty("Color", Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "CreateProductProperty");
OPI_Tools.Pause(5);
Property = Result[Response_]["property_id"];
Property = OPI_Tools.NumberToString(Property);
PropertyMap = New Map;
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_]["property_id"]).ИмеетТип(TypeNumber).Заполнено();
Result = OPI_VK.EditProductProperty("Color (change.)", Property, Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "EditProductProperty");
OPI_Tools.Pause(5);
Check_VKTrue(Result);
For Each Option In OptionArray Do
Result = OPI_VK.AddProductPropertyVariant(Option, Property, Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "AddProductPropertyVariant");
OPI_Tools.Pause(5);
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_]["variant_id"]).ИмеетТип(TypeNumber).Заполнено();
VariantID = Result[Response_]["variant_id"];
PropertyMap.Insert(Option, VariantID);
Result = OPI_VK.EditProductPropertyVariant(Option + String(New UUID())
, Property
, VariantID
, Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "EditProductPropertyVariant");
Check_VKTrue(Result);
EndDo;
ImageArray = New Array;
ImageArray.Add(TFN);
ImageArray.Add(Image);
Product = New Map();
Product.Insert("Name" , "TestProduct (" + Yellow_ + ")");
Product.Insert("Description" , "Product description");
Product.Insert("Category" , "20173");
Product.Insert("Price" , 1);
Product.Insert("OldPrice" , 15);
Product.Insert("MainPhoto" , Image);
Product.Insert("URL" , "https://github.com/Bayselonarrend/OpenIntegrations");
Product.Insert("AdditionalPhotos" , ImageArray);
Product.Insert("MainInGroup" , True);
Product.Insert("GroupNumber" , Undefined);
Product.Insert("Width" , 20);
Product.Insert("Height" , 30);
Product.Insert("Depth" , 40);
Product.Insert("Weight" , 100);
Product.Insert("SKU" , 12345);
Product.Insert("AvailableBalance" , "10");
Product.Insert("PropertyValues" , PropertyMap[Yellow_]);
Result = OPI_VK.AddProduct(Product, , Parameters); // Adding product
OPI_TestDataRetrieval.WriteLog(Result, "AddProduct");
OPI_Tools.Pause(5);
YellowID = Result[Response_]["market_item_id"];
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_][MII_]).ИмеетТип(TypeNumber).Заполнено();
Product.Insert("Name" , "TestProduct (" + Red_ + ")");
Product.Insert("PropertyValues", PropertyMap[Red_]);
Result = OPI_VK.AddProduct(Product, , Parameters); // Adding product
OPI_TestDataRetrieval.WriteLog(Result, "AddProduct");
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Picture", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture2", TestParameters);
OPI_Tools.Pause(5);
VK_CreateProductProperty(TestParameters);
VK_EditProductProperty(TestParameters);
VK_AddProductPropertyVariant(TestParameters);
VK_EditProductPropertyVariant(TestParameters);
VK_CreateProductWithProp(TestParameters);
VK_GetProductsByID(TestParameters);
VK_GroupProducts(TestParameters);
OPI_VK.DeleteProduct(TestParameters["VK_MarketItemID2"], Parameters);
OPI_VK.DeleteProduct(TestParameters["VK_MarketItemID3"], Parameters);
RedID = Result[Response_][MII_];
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_][MII_]).ИмеетТип(TypeNumber).Заполнено();
ProductsArray = New Array;
ProductsArray.Add(YellowID);
ProductsArray.Add(RedID);
Result = OPI_VK.GetProductsByID(ProductsArray, Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "GetProductsByID");
OPI_Tools.Pause(5);
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_]["items"]).ИмеетТип("Array").ИмеетДлину(2);
Result = OPI_VK.GroupProducts(ProductsArray, , Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "GroupProducts");
OPI_Tools.Pause(5);
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_]["item_group_id"]).ИмеетТип(TypeNumber).Заполнено();
OPI_VK.DeleteProduct(YellowID , Parameters);
OPI_VK.DeleteProduct(RedID, Parameters);
For Each Option In PropertyMap Do
Deletion = OPI_VK.DeleteProductPropertyVariant(Option.Value, Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteProductPropertyVariant");
OPI_Tools.Pause(5);
Check_VKTrue(Deletion);
EndDo;
Deletion = OPI_VK.DeleteProductProperty(Property, Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteProductProperty");
OPI_Tools.Pause(5);
Check_VKTrue(Deletion);
DeleteFiles(TFN);
VK_DeleteProductPropertyVariant(TestParameters);
VK_DeleteProductProperty(TestParameters);
EndProcedure
@@ -3553,6 +3416,34 @@ Procedure Check_VKProduct(Val Result)
EndProcedure
Procedure Check_VKProp(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["response"]["property_id"]).ИмеетТип("Number").Заполнено();
EndProcedure
Procedure Check_VKPropVariant(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["response"]["variant_id"]).ИмеетТип("Number").Заполнено();
EndProcedure
Procedure Check_VKProductData(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["response"]["items"]).ИмеетТип("Array").ИмеетДлину(2);
EndProcedure
Procedure Check_VKProductsGroup(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["response"]["item_group_id"]).ИмеетТип("Number").Заполнено();
EndProcedure
Procedure Check_GKObject(Val Result, Val Name, Val Description)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
@@ -5261,6 +5152,242 @@ Procedure VK_DeleteCollection(FunctionParameters)
EndProcedure
Procedure VK_CreateProductProperty(FunctionParameters)
Parameters = GetVKParameters();
Name = "Color";
Result = OPI_VK.CreateProductProperty(Name, Parameters);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateProductProperty", "VK");
Check_VKProp(Result);
OPI_Tools.Pause(5);
Property = Result["response"]["property_id"];
Property = OPI_Tools.NumberToString(Property);
OPI_TestDataRetrieval.WriteParameter("VK_PropID", Property);
FunctionParameters.Insert("VK_PropID", Property);
EndProcedure
Procedure VK_EditProductProperty(FunctionParameters)
Parameters = GetVKParameters();
Name = "Color (change.)";
Property = FunctionParameters["VK_PropID"];
Result = OPI_VK.EditProductProperty(Name, Property, Parameters);
// END
OPI_TestDataRetrieval.WriteLog(Result, "EditProductProperty", "VK");
OPI_Tools.Pause(5);
Check_VKTrue(Result);
EndProcedure
Procedure VK_AddProductPropertyVariant(FunctionParameters)
Counter = 1; // SKIP
Parameters = GetVKParameters();
Property = FunctionParameters["VK_PropID"];
OptionArray = New Array;
OptionArray.Add("Yellow");
OptionArray.Add("Blue");
OptionArray.Add("Red");
For Each Value In OptionArray Do
Result = OPI_VK.AddProductPropertyVariant(Value, Property, Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "AddProductPropertyVariant", "VK");
Check_VKPropVariant(Result); // SKIP
OPI_Tools.Pause(5); // SKIP
VariantID = Result["response"]["variant_id"]; // SKIP
ParameterName = "VK_PropVarID" + String(Counter); // SKIP
OPI_TestDataRetrieval.WriteParameter(ParameterName, VariantID); // SKIP
FunctionParameters.Insert(ParameterName, VariantID);
Counter = Counter + 1; // SKIP
EndDo;
// END
EndProcedure
Procedure VK_EditProductPropertyVariant(FunctionParameters)
Parameters = GetVKParameters();
Property = FunctionParameters["VK_PropID"];
Option = FunctionParameters["VK_PropVarID1"];
Value = "New variant name";
Result = OPI_VK.EditProductPropertyVariant(Value
, Property
, Option
, Parameters);
// END
OPI_TestDataRetrieval.WriteLog(Result, "EditProductPropertyVariant", "VK");
Check_VKTrue(Result);
EndProcedure
Procedure VK_CreateProductWithProp(FunctionParameters)
Parameters = GetVKParameters();
Image1 = FunctionParameters["Picture"];
Image2 = FunctionParameters["Picture2"];
PropVariant1 = FunctionParameters["VK_PropVarID1"];
PropVariant2 = FunctionParameters["VK_PropVarID2"];
ImageArray = New Array;
ImageArray.Add(Image1);
ImageArray.Add(Image2);
Product = New Map();
Product.Insert("Name" , "Test product (with prop)");
Product.Insert("Description" , "Product description");
Product.Insert("Category" , "20173");
Product.Insert("Price" , 1);
Product.Insert("OldPrice" , 15);
Product.Insert("MainPhoto" , Image1);
Product.Insert("URL" , "https://github.com/Bayselonarrend/OpenIntegrations");
Product.Insert("AdditionalPhotos" , ImageArray);
Product.Insert("MainInGroup" , True);
Product.Insert("GroupNumber" , Undefined);
Product.Insert("Width" , 20);
Product.Insert("Height" , 30);
Product.Insert("Depth" , 40);
Product.Insert("Weight" , 100);
Product.Insert("SKU" , 12345);
Product.Insert("AvailableBalance" , "10");
Product.Insert("PropertyValues" , PropVariant1);
Result = OPI_VK.AddProduct(Product, , Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "ProductWithProp1");
Check_VKProduct(Result);
ProductID = Result["response"]["market_item_id"];
OPI_TestDataRetrieval.WriteParameter("VK_MarketItemID2", ProductID);
FunctionParameters.Insert("VK_MarketItemID2", ProductID);
Product.Insert("Name" , "Test product (another)");
Product.Insert("PropertyValues", PropVariant2);
Result = OPI_VK.AddProduct(Product, , Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "ProductWithProp2");
Check_VKProduct(Result);
ProductID = Result["response"]["market_item_id"];
OPI_TestDataRetrieval.WriteParameter("VK_MarketItemID3", ProductID);
FunctionParameters.Insert("VK_MarketItemID3", ProductID);
OPI_Tools.Pause(5);
EndProcedure
Procedure VK_GetProductsByID(FunctionParameters)
Parameters = GetVKParameters();
Item1 = FunctionParameters["VK_MarketItemID2"];
Item2 = FunctionParameters["VK_MarketItemID3"];
ProductsArray = New Array;
ProductsArray.Add(Item1);
ProductsArray.Add(Item2);
Result = OPI_VK.GetProductsByID(ProductsArray, Parameters);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetProductsByID", "VK");
Check_VKProductData(Result);
OPI_Tools.Pause(5);
EndProcedure
Procedure VK_GroupProducts(FunctionParameters)
Parameters = GetVKParameters();
Item1 = FunctionParameters["VK_MarketItemID2"];
Item2 = FunctionParameters["VK_MarketItemID3"];
ProductsArray = New Array;
ProductsArray.Add(Item1);
ProductsArray.Add(Item2);
Result = OPI_VK.GroupProducts(ProductsArray, , Parameters);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GroupProducts", "VK");
Check_VKProductsGroup(Result);
OPI_Tools.Pause(5);
EndProcedure
Procedure VK_DeleteProductPropertyVariant(FunctionParameters)
Parameters = GetVKParameters();
Option = FunctionParameters["VK_PropVarID1"];
Result = OPI_VK.DeleteProductPropertyVariant(Option, Parameters);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteProductPropertyVariant", "VK");
Check_VKTrue(Result);
OPI_Tools.Pause(5);
EndProcedure
Procedure VK_DeleteProductProperty(FunctionParameters)
Parameters = GetVKParameters();
Property = FunctionParameters["VK_PropID"];
Result = OPI_VK.DeleteProductProperty(Property, Parameters);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DeleteProductProperty");
OPI_Tools.Pause(5);
Check_VKTrue(Result);
EndProcedure
#EndRegion
#Region Dropbox

View File

@@ -522,161 +522,24 @@ EndProcedure
Procedure VKAPI_CreateProductWithProperties() Export
Parameters = GetVKParameters();
TypeMap = Type("Map");
TypeNumber = Type("Number");
MII_ = "market_item_id";
Response_ = "response";
Yellow_ = "Yellow";
Red_ = "Red";
Image = OPI_TestDataRetrieval.GetBinary("Picture");
TFN = GetTempFileName("png");
Image.Write(TFN);
OptionArray = New Array;
OptionArray.Add(Yellow_);
OptionArray.Add("Blue");
OptionArray.Add(Red_);
Result = OPI_VK.CreateProductProperty("Color", Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "CreateProductProperty");
OPI_Tools.Pause(5);
Property = Result[Response_]["property_id"];
Property = OPI_Tools.NumberToString(Property);
PropertyMap = New Map;
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_]["property_id"]).ИмеетТип(TypeNumber).Заполнено();
Result = OPI_VK.EditProductProperty("Color (change.)", Property, Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "EditProductProperty");
OPI_Tools.Pause(5);
Check_VKTrue(Result);
For Each Option In OptionArray Do
Result = OPI_VK.AddProductPropertyVariant(Option, Property, Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "AddProductPropertyOption");
OPI_Tools.Pause(5);
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_]["variant_id"]).ИмеетТип(TypeNumber).Заполнено();
VariantID = Result[Response_]["variant_id"];
PropertyMap.Insert(Option, VariantID);
Result = OPI_VK.EditProductPropertyVariant(Option + String(New UUID())
, Property
, VariantID
, Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "EditProductPropertyOption");
Check_VKTrue(Result);
EndDo;
ImageArray = New Array;
ImageArray.Add(TFN);
ImageArray.Add(Image);
Product = New Map();
Product.Insert("Name" , "TestProduct (" + Yellow_ + ")");
Product.Insert("Description" , "Product description");
Product.Insert("Category" , "20173");
Product.Insert("Price" , 1);
Product.Insert("OldPrice" , 15);
Product.Insert("MainPhoto" , Image);
Product.Insert("URL" , "https://github.com/Bayselonarrend/OpenIntegrations");
Product.Insert("AdditionalPhotos" , ImageArray);
Product.Insert("MainInGroup" , True);
Product.Insert("GroupNumber" , Undefined);
Product.Insert("Width" , 20);
Product.Insert("Height" , 30);
Product.Insert("Depth" , 40);
Product.Insert("Weight" , 100);
Product.Insert("SKU" , 12345);
Product.Insert("AvailableBalance" , "10");
Product.Insert("PropertyValues" , PropertyMap[Yellow_]);
Result = OPI_VK.AddProduct(Product, , Parameters); // Adding product
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "AddProduct");
OPI_Tools.Pause(5);
YellowID = Result[Response_]["market_item_id"];
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_][MII_]).ИмеетТип(TypeNumber).Заполнено();
Product.Insert("Name" , "TestProduct (" + Red_ + ")");
Product.Insert("PropertyValues", PropertyMap[Red_]);
Result = OPI_VK.AddProduct(Product, , Parameters); // Adding product
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "AddProduct");
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Picture", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Picture2", TestParameters);
OPI_Tools.Pause(5);
VK_CreateProductProperty(TestParameters);
VK_EditProductProperty(TestParameters);
VK_AddProductPropertyVariant(TestParameters);
VK_EditProductPropertyVariant(TestParameters);
VK_CreateProductWithProp(TestParameters);
VK_GetProductsByID(TestParameters);
VK_GroupProducts(TestParameters);
OPI_VK.DeleteProduct(TestParameters["VK_MarketItemID2"], Parameters);
OPI_VK.DeleteProduct(TestParameters["VK_MarketItemID3"], Parameters);
RedID = Result[Response_][MII_];
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_][MII_]).ИмеетТип(TypeNumber).Заполнено();
ProductsArray = New Array;
ProductsArray.Add(YellowID);
ProductsArray.Add(RedID);
Result = OPI_VK.GetProductsByID(ProductsArray, Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductsByID");
OPI_Tools.Pause(5);
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_]["items"]).ИмеетТип("Array").ИмеетДлину(2);
Result = OPI_VK.GroupProducts(ProductsArray, , Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GroupProducts");
OPI_Tools.Pause(5);
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип(TypeMap);
OPI_TestDataRetrieval.ExpectsThat(Result[Response_]["item_group_id"]).ИмеетТип(TypeNumber).Заполнено();
OPI_VK.DeleteProduct(YellowID , Parameters);
OPI_VK.DeleteProduct(RedID, Parameters);
For Each Option In PropertyMap Do
Deletion = OPI_VK.DeleteProductPropertyVariant(Option.Value, Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteProductPropertyOption");
OPI_Tools.Pause(5);
Check_VKTrue(Deletion);
EndDo;
Deletion = OPI_VK.DeleteProductProperty(Property, Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteProductProperty");
OPI_Tools.Pause(5);
Check_VKTrue(Deletion);
DeleteFiles(TFN);
VK_DeleteProductPropertyVariant(TestParameters);
VK_DeleteProductProperty(TestParameters);
EndProcedure
@@ -3553,6 +3416,34 @@ Procedure Check_VKProduct(Val Result)
EndProcedure
Procedure Check_VKProp(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["response"]["property_id"]).ИмеетТип("Number").Заполнено();
EndProcedure
Procedure Check_VKPropVariant(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["response"]["variant_id"]).ИмеетТип("Number").Заполнено();
EndProcedure
Procedure Check_VKProductData(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["response"]["items"]).ИмеетТип("Array").ИмеетДлину(2);
EndProcedure
Procedure Check_VKProductsGroup(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["response"]["item_group_id"]).ИмеетТип("Number").Заполнено();
EndProcedure
Procedure Check_GKObject(Val Result, Val Name, Val Description)
OPI_TestDataRetrieval.ExpectsThat(Result).ИмеетТип("Map");
@@ -5261,6 +5152,242 @@ Procedure VK_DeleteCollection(FunctionParameters)
EndProcedure
Procedure VK_CreateProductProperty(FunctionParameters)
Parameters = GetVKParameters();
Name = "Color";
Result = OPI_VK.CreateProductProperty(Name, Parameters);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "CreateProductProperty", "VK");
Check_VKProp(Result);
OPI_Tools.Pause(5);
Property = Result["response"]["property_id"];
Property = OPI_Tools.NumberToString(Property);
OPI_TestDataRetrieval.WriteParameter("VK_PropID", Property);
FunctionParameters.Insert("VK_PropID", Property);
EndProcedure
Procedure VK_EditProductProperty(FunctionParameters)
Parameters = GetVKParameters();
Name = "Color (change.)";
Property = FunctionParameters["VK_PropID"];
Result = OPI_VK.EditProductProperty(Name, Property, Parameters);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "EditProductProperty", "VK");
OPI_Tools.Pause(5);
Check_VKTrue(Result);
EndProcedure
Procedure VK_AddProductPropertyVariant(FunctionParameters)
Counter = 1; // SKIP
Parameters = GetVKParameters();
Property = FunctionParameters["VK_PropID"];
OptionArray = New Array;
OptionArray.Add("Yellow");
OptionArray.Add("Blue");
OptionArray.Add("Red");
For Each Value In OptionArray Do
Result = OPI_VK.AddProductPropertyVariant(Value, Property, Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "AddProductPropertyVariant", "VK");
Check_VKPropVariant(Result); // SKIP
OPI_Tools.Pause(5); // SKIP
VariantID = Result["response"]["variant_id"]; // SKIP
ParameterName = "VK_PropVarID" + String(Counter); // SKIP
OPI_TestDataRetrieval.WriteParameter(ParameterName, VariantID); // SKIP
FunctionParameters.Insert(ParameterName, VariantID);
Counter = Counter + 1; // SKIP
EndDo;
// END
EndProcedure
Procedure VK_EditProductPropertyVariant(FunctionParameters)
Parameters = GetVKParameters();
Property = FunctionParameters["VK_PropID"];
Option = FunctionParameters["VK_PropVarID1"];
Value = "New variant name";
Result = OPI_VK.EditProductPropertyVariant(Value
, Property
, Option
, Parameters);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "EditProductPropertyVariant", "VK");
Check_VKTrue(Result);
EndProcedure
Procedure VK_CreateProductWithProp(FunctionParameters)
Parameters = GetVKParameters();
Image1 = FunctionParameters["Picture"];
Image2 = FunctionParameters["Picture2"];
PropVariant1 = FunctionParameters["VK_PropVarID1"];
PropVariant2 = FunctionParameters["VK_PropVarID2"];
ImageArray = New Array;
ImageArray.Add(Image1);
ImageArray.Add(Image2);
Product = New Map();
Product.Insert("Name" , "Test product (with prop)");
Product.Insert("Description" , "Product description");
Product.Insert("Category" , "20173");
Product.Insert("Price" , 1);
Product.Insert("OldPrice" , 15);
Product.Insert("MainPhoto" , Image1);
Product.Insert("URL" , "https://github.com/Bayselonarrend/OpenIntegrations");
Product.Insert("AdditionalPhotos" , ImageArray);
Product.Insert("MainInGroup" , True);
Product.Insert("GroupNumber" , Undefined);
Product.Insert("Width" , 20);
Product.Insert("Height" , 30);
Product.Insert("Depth" , 40);
Product.Insert("Weight" , 100);
Product.Insert("SKU" , 12345);
Product.Insert("AvailableBalance" , "10");
Product.Insert("PropertyValues" , PropVariant1);
Result = OPI_VK.AddProduct(Product, , Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "ProductWithProp1");
Check_VKProduct(Result);
ProductID = Result["response"]["market_item_id"];
OPI_TestDataRetrieval.WriteParameter("VK_MarketItemID2", ProductID);
FunctionParameters.Insert("VK_MarketItemID2", ProductID);
Product.Insert("Name" , "Test product (another)");
Product.Insert("PropertyValues", PropVariant2);
Result = OPI_VK.AddProduct(Product, , Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "ProductWithProp2");
Check_VKProduct(Result);
ProductID = Result["response"]["market_item_id"];
OPI_TestDataRetrieval.WriteParameter("VK_MarketItemID3", ProductID);
FunctionParameters.Insert("VK_MarketItemID3", ProductID);
OPI_Tools.Pause(5);
EndProcedure
Procedure VK_GetProductsByID(FunctionParameters)
Parameters = GetVKParameters();
Item1 = FunctionParameters["VK_MarketItemID2"];
Item2 = FunctionParameters["VK_MarketItemID3"];
ProductsArray = New Array;
ProductsArray.Add(Item1);
ProductsArray.Add(Item2);
Result = OPI_VK.GetProductsByID(ProductsArray, Parameters);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetProductsByID", "VK");
Check_VKProductData(Result);
OPI_Tools.Pause(5);
EndProcedure
Procedure VK_GroupProducts(FunctionParameters)
Parameters = GetVKParameters();
Item1 = FunctionParameters["VK_MarketItemID2"];
Item2 = FunctionParameters["VK_MarketItemID3"];
ProductsArray = New Array;
ProductsArray.Add(Item1);
ProductsArray.Add(Item2);
Result = OPI_VK.GroupProducts(ProductsArray, , Parameters);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GroupProducts", "VK");
Check_VKProductsGroup(Result);
OPI_Tools.Pause(5);
EndProcedure
Procedure VK_DeleteProductPropertyVariant(FunctionParameters)
Parameters = GetVKParameters();
Option = FunctionParameters["VK_PropVarID1"];
Result = OPI_VK.DeleteProductPropertyVariant(Option, Parameters);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteProductPropertyVariant", "VK");
Check_VKTrue(Result);
OPI_Tools.Pause(5);
EndProcedure
Procedure VK_DeleteProductProperty(FunctionParameters)
Parameters = GetVKParameters();
Property = FunctionParameters["VK_PropID"];
Result = OPI_VK.DeleteProductProperty(Property, Parameters);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteProductProperty");
OPI_Tools.Pause(5);
Check_VKTrue(Result);
EndProcedure
#EndRegion
#Region Dropbox

View File

@@ -1,21 +1,21 @@
<package-def>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_Airtable" file="core/Modules/OPI_Airtable.os"/>
<module name="OPI_Bitrix24" file="core/Modules/OPI_Bitrix24.os"/>
<module name="OPI_Dropbox" file="core/Modules/OPI_Dropbox.os"/>
<module name="OPI_GoogleCalendar" file="core/Modules/OPI_GoogleCalendar.os"/>
<module name="OPI_GoogleDrive" file="core/Modules/OPI_GoogleDrive.os"/>
<module name="OPI_GoogleSheets" file="core/Modules/OPI_GoogleSheets.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
<module name="OPI_Notion" file="core/Modules/OPI_Notion.os"/>
<module name="OPI_Slack" file="core/Modules/OPI_Slack.os"/>
<module name="OPI_Telegram" file="core/Modules/OPI_Telegram.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
<module name="OPI_Twitter" file="core/Modules/OPI_Twitter.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_Viber" file="core/Modules/OPI_Viber.os"/>
<module name="OPI_VK" file="core/Modules/OPI_VK.os"/>
<module name="OPI_YandexDisk" file="core/Modules/OPI_YandexDisk.os"/>
<module name="OPI_YandexID" file="core/Modules/OPI_YandexID.os"/>
<module name="OPI_Инструменты" file="tools/Modules/internal/Modules/OPI_Инструменты.os"/>
<module name="OPI_Криптография" file="tools/Modules/internal/Modules/OPI_Криптография.os"/>
<module name="OPI_ПолучениеДанныхТестов" file="tools/Modules/OPI_ПолучениеДанныхТестов.os"/>
<module name="OPI_ПреобразованиеТипов" file="tools/Modules/OPI_ПреобразованиеТипов.os"/>
<module name="OPI_GoogleWorkspace" file="core/Modules/OPI_GoogleWorkspace.os"/>
</package-def>