filter = new OrderProductPackFilter(); $request->filter->ids = [143]; $mock = static::createApiMockBuilder('orders/packs'); $mock->matchMethod(RequestMethod::GET) ->matchQuery(static::encodeFormArray($request)) ->reply(200) ->withBody($json); $client = TestClientFactory::createClient($mock->getClient()); $response = $client->packs->list($request); self::assertModelEqualsToResponse($json, $response); } public function testCreate(): void { $json = <<<'EOF' { "success": true, "id": 1 } EOF; $pack = new OrderProductPack(); $pack->itemId = 11235; $pack->invoiceNumber = '1234567890'; $pack->deliveryNoteNumber = '1234567890'; $pack->shipmentDate = (new DateTime())->add(new DateInterval('P1D')); $pack->store = 'main12'; $pack->quantity = 1; $pack->purchasePrice = 100; $request = new PacksCreateRequest($pack); $mock = static::createApiMockBuilder('orders/packs/create'); $mock->matchMethod(RequestMethod::POST) ->matchBody(static::encodeForm($request)) ->reply(200) ->withBody($json); $client = TestClientFactory::createClient($mock->getClient()); $response = $client->packs->create($request); self::assertModelEqualsToResponse($json, $response); } public function testHistory(): void { $json = <<<'EOF' { "success": true, "generatedAt": "2021-03-02 14:30:54", "history": [ { "id": 229, "createdAt": "2020-02-06 13:59:41", "created": true, "field": "store", "newValue": { "code": "food" }, "pack": { "id": 125, "purchasePrice": 33.67, "quantity": 1, "store": { "code": "food" }, "item": { "id": 7642, "order": { "id": 5043 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 24 } }, { "id": 230, "createdAt": "2020-02-06 15:01:16", "created": true, "field": "store", "newValue": { "code": "antisklad" }, "pack": { "id": 126, "quantity": 20, "store": { "code": "antisklad" }, "item": { "id": 7642, "order": { "id": 5043 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "api" }, { "id": 231, "createdAt": "2020-02-12 17:29:38", "deleted": true, "field": "store", "oldValue": { "code": "food" }, "pack": { "id": 125, "item": { "id": 7642, "order": { "id": 5043 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "code", "user": { "id": 24 } }, { "id": 232, "createdAt": "2020-02-12 17:29:38", "deleted": true, "field": "store", "oldValue": { "code": "antisklad" }, "pack": { "id": 126, "item": { "id": 7642, "order": { "id": 5043 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "code", "user": { "id": 24 } }, { "id": 233, "createdAt": "2020-03-05 16:34:59", "created": true, "field": "store", "newValue": { "code": "food" }, "pack": { "id": 127, "purchasePrice": 33.67, "quantity": 1, "store": { "code": "food" }, "item": { "id": 8341, "order": { "id": 5463 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 19 } }, { "id": 234, "createdAt": "2020-03-05 16:35:07", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 128, "purchasePrice": 33.67, "quantity": 1, "store": { "code": "main" }, "item": { "id": 8343, "order": { "id": 5463 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 19 } }, { "id": 235, "createdAt": "2020-03-05 16:35:13", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 129, "quantity": 1, "store": { "code": "main" }, "item": { "id": 8342, "order": { "id": 5463 }, "offer": { "externalId": "test xml code", "xmlId": "test xml code" } } }, "source": "user", "user": { "id": 19 } }, { "id": 236, "createdAt": "2020-03-05 16:35:31", "deleted": true, "field": "store", "oldValue": { "code": "main12" }, "pack": { "id": 128, "item": { "id": 8343, "order": { "id": 5463 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "code", "user": { "id": 19 } }, { "id": 237, "createdAt": "2020-03-05 16:37:02", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 130, "purchasePrice": 33.67, "quantity": 1, "store": { "code": "main" }, "item": { "id": 8343, "order": { "id": 5463 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 19 } }, { "id": 238, "createdAt": "2020-03-05 16:37:02", "deleted": true, "field": "store", "oldValue": { "code": "main12" }, "pack": { "id": 130, "item": { "id": 8343, "order": { "id": 5463 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "code", "user": { "id": 19 } }, { "id": 239, "createdAt": "2020-03-05 16:37:15", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 131, "purchasePrice": 33.67, "quantity": 1, "store": { "code": "main" }, "item": { "id": 8343, "order": { "id": 5463 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 19 } }, { "id": 240, "createdAt": "2020-07-17 19:18:52", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 132, "quantity": 2, "store": { "code": "main" }, "item": { "id": 9294, "order": { "id": 6093 }, "offer": { "externalId": "212", "xmlId": "477" } } }, "source": "user", "user": { "id": 28 } }, { "id": 241, "createdAt": "2020-07-17 20:34:53", "deleted": true, "field": "store", "oldValue": { "code": "main12" }, "pack": { "id": 132, "item": { "id": 9294, "order": { "id": 6093 }, "offer": { "externalId": "212", "xmlId": "477" } } }, "source": "code", "user": { "id": 28 } }, { "id": 242, "createdAt": "2020-07-18 18:13:15", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 133, "quantity": 2, "store": { "code": "main" }, "item": { "id": 9296, "order": { "id": 6097 }, "offer": { "externalId": "212", "xmlId": "477" } } }, "source": "user", "user": { "id": 28 } }, { "id": 243, "createdAt": "2020-07-18 18:17:03", "deleted": true, "field": "store", "oldValue": { "code": "main12" }, "pack": { "id": 133, "item": { "id": 9296, "order": { "id": 6097 }, "offer": { "externalId": "212", "xmlId": "477" } } }, "source": "code", "user": { "id": 28 } }, { "id": 244, "createdAt": "2020-07-18 18:19:32", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 134, "quantity": 1, "store": { "code": "main" }, "item": { "id": 9298, "order": { "id": 6098 }, "offer": { "externalId": "214", "xmlId": "480" } } }, "source": "user", "user": { "id": 28 } }, { "id": 245, "createdAt": "2020-07-19 12:49:05", "deleted": true, "field": "store", "oldValue": { "code": "main12" }, "pack": { "id": 134, "item": { "id": 9298, "order": { "id": 6098 }, "offer": { "externalId": "214", "xmlId": "480" } } }, "source": "code", "user": { "id": 28 } }, { "id": 246, "createdAt": "2020-08-25 17:18:40", "created": true, "field": "store", "newValue": { "code": "weiser_store" }, "pack": { "id": 135, "purchasePrice": 4000, "quantity": 1, "store": { "code": "weiser_store" }, "item": { "id": 9435, "order": { "id": 6225 }, "offer": { "externalId": "77317025-132370645" } } }, "source": "user", "user": { "id": 28 } }, { "id": 247, "createdAt": "2020-08-25 17:21:57", "field": "purchasePrice", "oldValue": 4000, "newValue": 0, "pack": { "id": 135, "item": { "id": 9435, "order": { "id": 6225 }, "offer": { "externalId": "77317025-132370645" } } }, "source": "user", "user": { "id": 28 } }, { "id": 248, "createdAt": "2020-08-25 17:24:30", "field": "purchasePrice", "oldValue": 0, "newValue": 4000, "pack": { "id": 135, "item": { "id": 9435, "order": { "id": 6225 }, "offer": { "externalId": "77317025-132370645" } } }, "source": "user", "user": { "id": 28 } }, { "id": 249, "createdAt": "2020-08-25 17:24:30", "field": "quantity", "oldValue": 1, "newValue": 44, "pack": { "id": 135, "item": { "id": 9435, "order": { "id": 6225 }, "offer": { "externalId": "77317025-132370645" } } }, "source": "user", "user": { "id": 28 } }, { "id": 250, "createdAt": "2020-08-25 17:47:18", "deleted": true, "field": "store", "oldValue": { "code": "weiser_store" }, "pack": { "id": 135, "item": { "id": 9435, "order": { "id": 6225 }, "offer": { "externalId": "77317025-132370645" } } }, "source": "code", "user": { "id": 28 } }, { "id": 251, "createdAt": "2020-12-14 11:25:40", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 136, "purchasePrice": 2053.04, "quantity": 2, "store": { "code": "main" }, "item": { "id": 9932, "order": { "id": 6557 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 28 } }, { "id": 252, "createdAt": "2020-12-14 11:39:58", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 137, "purchasePrice": 2053.04, "quantity": 1, "store": { "code": "main" }, "item": { "id": 9947, "order": { "id": 6572 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 28 } }, { "id": 253, "createdAt": "2020-12-15 11:34:22", "created": true, "field": "store", "newValue": { "code": "food" }, "pack": { "id": 138, "purchasePrice": 2053.04, "quantity": 2, "store": { "code": "food" }, "item": { "id": 9960, "order": { "id": 6583 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 28 } }, { "id": 254, "createdAt": "2020-12-15 11:34:29", "deleted": true, "field": "store", "oldValue": { "code": "food" }, "pack": { "id": 138, "item": { "id": 9960, "order": { "id": 6583 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 28 } }, { "id": 255, "createdAt": "2020-12-15 11:34:29", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 139, "purchasePrice": 2053.04, "quantity": 2, "store": { "code": "main" }, "item": { "id": 9960, "order": { "id": 6583 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 28 } }, { "id": 256, "createdAt": "2020-12-15 15:18:39", "deleted": true, "field": "store", "oldValue": { "code": "main12" }, "pack": { "id": 139, "item": { "id": 9960, "order": { "id": 6583 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "code", "user": { "id": 28 } }, { "id": 257, "createdAt": "2020-12-15 15:19:57", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 140, "purchasePrice": 2103.69, "quantity": 1, "store": { "code": "main" }, "item": { "id": 9961, "order": { "id": 6584 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 28 } }, { "id": 258, "createdAt": "2020-12-15 18:15:12", "deleted": true, "field": "store", "oldValue": { "code": "main12" }, "pack": { "id": 140, "item": { "id": 9961, "order": { "id": 6584 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "code", "user": { "id": 28 } }, { "id": 259, "createdAt": "2020-12-16 09:08:20", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 141, "purchasePrice": 2103.69, "quantity": 1, "store": { "code": "main" }, "item": { "id": 9963, "order": { "id": 6586 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 28 } }, { "id": 260, "createdAt": "2020-12-29 16:50:41", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 142, "purchasePrice": 4000, "quantity": 1, "store": { "code": "main" }, "item": { "id": 10057, "order": { "id": 6690 }, "offer": { "externalId": "77317025-132370645" } } }, "source": "user", "user": { "id": 29 } }, { "id": 261, "createdAt": "2020-12-29 16:53:18", "field": "shipmentDate", "newValue": "2020-12-29 00:00:00", "pack": { "id": 142, "item": { "id": 10057, "order": { "id": 6690 }, "offer": { "externalId": "77317025-132370645" } } }, "source": "user", "user": { "id": 29 } }, { "id": 262, "createdAt": "2020-12-29 16:53:43", "deleted": true, "field": "store", "oldValue": { "code": "main12" }, "pack": { "id": 142, "item": { "id": 10057, "order": { "id": 6690 }, "offer": { "externalId": "77317025-132370645" } } }, "source": "code", "user": { "id": 29 } }, { "id": 263, "createdAt": "2021-02-11 16:34:47", "created": true, "field": "store", "newValue": { "code": "main12" }, "pack": { "id": 143, "quantity": 1, "store": { "code": "main1" }, "item": { "id": 11235, "order": { "id": 7088 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 29 } }, { "id": 264, "createdAt": "2021-02-11 16:38:12", "field": "shipmentDate", "newValue": "2021-02-11 00:00:00", "pack": { "id": 143, "item": { "id": 11235, "order": { "id": 7088 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 29 } }, { "id": 265, "createdAt": "2021-02-11 17:11:07", "field": "shipmentDate", "oldValue": "2021-02-11 00:00:00", "newValue": "2021-02-10 00:00:00", "pack": { "id": 143, "item": { "id": 11235, "order": { "id": 7088 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "user", "user": { "id": 29 } }, { "id": 266, "createdAt": "2021-03-02 14:25:53", "field": "purchasePrice", "oldValue": 0, "newValue": 100, "pack": { "id": 143, "item": { "id": 11235, "order": { "id": 7088 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "api" }, { "id": 267, "createdAt": "2021-03-02 14:25:53", "field": "shipmentDate", "oldValue": "2021-02-10 00:00:00", "newValue": "2021-03-03 00:00:00", "pack": { "id": 143, "item": { "id": 11235, "order": { "id": 7088 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "api" }, { "id": 268, "createdAt": "2021-03-02 14:25:53", "field": "invoiceNumber", "newValue": "1234567890", "pack": { "id": 143, "item": { "id": 11235, "order": { "id": 7088 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "api" }, { "id": 269, "createdAt": "2021-03-02 14:25:53", "field": "deliveryNoteNumber", "newValue": "1234567890", "pack": { "id": 143, "item": { "id": 11235, "order": { "id": 7088 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } } }, "source": "api" } ], "pagination": { "limit": 100, "totalCount": 41, "currentPage": 1, "totalPageCount": 1 } } EOF; $request = new PacksHistoryRequest(); $request->filter = new OrderProductPackHistoryFilterType(); $request->filter->startDate = DateTimeTransformer::create('2020-01-01 00:00:00'); $mock = static::createApiMockBuilder('orders/packs/history'); $mock->matchMethod(RequestMethod::GET) ->matchQuery(static::encodeFormArray($request)) ->reply(200) ->withBody($json); $client = TestClientFactory::createClient($mock->getClient()); $response = $client->packs->history($request); self::assertModelEqualsToResponse($json, $response); } public function testGet(): void { $json = <<<'EOF' { "success": true, "pack": { "id": 143, "purchasePrice": 100, "quantity": 1, "unit": { "code": "796", "name": "Штука", "sym": "шт" }, "store": "main12", "item": { "id": 11235, "externalIds": [ { } ], "order": { "id": 7088 }, "offer": { "externalId": "0jpQ-POMiUzGGZw0mvZPi3", "xmlId": "0jpQ-POMiUzGGZw0mvZPi3" } }, "shipmentDate": "2021-03-03", "invoiceNumber": "1234567890", "deliveryNoteNumber": "1234567890" } } EOF; $mock = static::createApiMockBuilder('orders/packs/143'); $mock->matchMethod(RequestMethod::GET) ->reply(200) ->withBody($json); $client = TestClientFactory::createClient($mock->getClient()); $response = $client->packs->get(143); self::assertModelEqualsToResponse($json, $response); } public function testEdit(): void { $json = <<<'EOF' { "success": true, "id": 1 } EOF; $pack = new OrderProductPack(); $pack->shipmentDate = (new DateTime())->add(new DateInterval('P1D')); $request = new PacksCreateRequest($pack); $mock = static::createApiMockBuilder('orders/packs/143/edit'); $mock->matchMethod(RequestMethod::POST) ->matchBody(static::encodeForm($request)) ->reply(200) ->withBody($json); $client = TestClientFactory::createClient($mock->getClient()); $response = $client->packs->edit(143, $request); self::assertModelEqualsToResponse($json, $response); } public function testDelete(): void { $json = <<<'EOF' { "success": true } EOF; $mock = static::createApiMockBuilder('orders/packs/143/delete'); $mock->matchMethod(RequestMethod::POST) ->reply(200) ->withBody($json); $client = TestClientFactory::createClient($mock->getClient()); $response = $client->packs->delete(143); self::assertModelEqualsToResponse($json, $response); } }