{
	"info": {
		"_postman_id": "85915250-ff04-416f-ab2f-0f4c3ac002ab",
		"name": "TYREMOTION API",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "size-recognition",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"pm.test(\"200 status test\", function () {",
							"    pm.response.to.have.status(200);",
							"});",
							"",
							"pm.collectionVariables.set(\"size_recognition_id\", pm.response.json().id);",
							""
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "POST",
				"header": [],
				"body": {
					"mode": "formdata",
					"formdata": [
						{
							"key": "image",
							"type": "file",
							"src": []
						}
					]
				},
				"url": {
					"raw": "{{base_path}}/size-recognition",
					"host": [
						"{{base_path}}"
					],
					"path": [
						"size-recognition"
					]
				}
			},
			"response": []
		},
		{
			"name": "size-recognition",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"pm.test(\"200 status test\", function () {",
							"    pm.response.to.have.status(200);",
							"});",
							"",
							"pm.test(\"returns newly created size-recognition\", function () {",
							"    const responseJson = pm.response.json();",
							"    pm.expect(responseJson.details).to.be.undefined;",
							"    pm.expect(responseJson.verdict).to.be.undefined;",
							"    pm.expect(responseJson.verdict_date).to.be.undefined;",
							"});",
							""
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{base_path}}/size-recognition/{{size_recognition_id}}",
					"host": [
						"{{base_path}}"
					],
					"path": [
						"size-recognition",
						"{{size_recognition_id}}"
					],
					"query": [
						{
							"key": "",
							"value": null,
							"disabled": true
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "verdict - approve",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"  pm.test(\"200 status test\", function () {",
							"    pm.response.to.have.status(200);",
							"});",
							"",
							"pm.test(\"returns verdict success\", function () {",
							"    var responseJson = pm.response.json();",
							"    pm.expect(responseJson.verdict).to.eql(\"approve\");",
							"    pm.expect(responseJson.details).to.be.undefined;",
							"});",
							""
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "PUT",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"verdict\": \"approve\"\n}",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_path}}/size-recognition/{{size_recognition_id}}/verdict",
					"host": [
						"{{base_path}}"
					],
					"path": [
						"size-recognition",
						"{{size_recognition_id}}",
						"verdict"
					]
				}
			},
			"response": []
		},
		{
			"name": "approved verdict size-recognition",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"var moment = require('moment');",
							"",
							"pm.test(\"200 status test\", function () {",
							"    pm.response.to.have.status(200);",
							"});",
							"",
							"pm.test(\"returns approved verdict size-recognition\", function () {",
							"    const responseJson = pm.response.json();",
							"",
							"    pm.expect(responseJson.verdict).to.eql(\"approve\");",
							"    pm.expect(Date.parse(responseJson.verdict_date)).to.below(Date.parse(moment()));",
							"    pm.expect(Date.parse(responseJson.verdict_date)).to.above(Date.parse(moment().subtract(1, 'day')));",
							"    pm.expect(responseJson.verdict_details).to.be.undefined;",
							"});",
							""
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{base_path}}/size-recognition/{{size_recognition_id}}",
					"host": [
						"{{base_path}}"
					],
					"path": [
						"size-recognition",
						"{{size_recognition_id}}"
					]
				}
			},
			"response": []
		},
		{
			"name": "verdict - disapprove",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"  pm.test(\"200 status test\", function () {",
							"    pm.response.to.have.status(200);",
							"});",
							"",
							"pm.test(\"returns verdict success\", function () {",
							"    var responseJson = pm.response.json();",
							"    pm.expect(responseJson.verdict).to.be.eql(\"disapprove\");",
							"    pm.expect(responseJson.details.brand).to.eql(\"AUD\");",
							"    pm.expect(responseJson.details.model).to.eql(\"A1\")",
							"    pm.expect(responseJson.details.tyresize).to.be.undefined;",
							"    pm.expect(responseJson.details.plate).to.eql(\"AB 123 CD\");",
							"    pm.expect(responseJson.details.comments).to.be.undefined;",
							"});",
							""
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "PUT",
				"header": [],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"verdict\": \"disapprove\",\n  \"details\": {\n    \"brand\": \"AUD\",\n    \"model\": \"A1\",\n    \"plate\": \"AB 123 CD\"\n  }\n}\n",
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "{{base_path}}/size-recognition/{{size_recognition_id}}/verdict",
					"host": [
						"{{base_path}}"
					],
					"path": [
						"size-recognition",
						"{{size_recognition_id}}",
						"verdict"
					]
				}
			},
			"response": []
		},
		{
			"name": "disapproved verdict size-recognition",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"var moment = require('moment');",
							"",
							"pm.test(\"200 status test\", function () {",
							"    pm.response.to.have.status(200);",
							"});",
							"",
							"pm.test(\"returns approved verdict size-recognition\", function () {",
							"    const responseJson = pm.response.json();",
							"",
							"    pm.expect(responseJson.verdict).to.be.eql(\"disapprove\");",
							"    pm.expect(Date.parse(responseJson.verdict_date)).to.below(Date.parse(moment()));",
							"    pm.expect(Date.parse(responseJson.verdict_date)).to.above(Date.parse(moment().subtract(1, 'day')));",
							"",
							"    pm.expect(responseJson.verdict_details.brand).to.eql(\"AUD\");",
							"    pm.expect(responseJson.verdict_details.model).to.eql(\"A1\")",
							"    pm.expect(responseJson.verdict_details.tyresize).to.be.undefined;",
							"    pm.expect(responseJson.verdict_details.plate).to.eql(\"AB 123 CD\");",
							"    pm.expect(responseJson.verdict_details.comments).to.be.undefined;",
							"});",
							""
						],
						"type": "text/javascript"
					}
				}
			],
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "{{base_path}}/size-recognition/{{size_recognition_id}}",
					"host": [
						"{{base_path}}"
					],
					"path": [
						"size-recognition",
						"{{size_recognition_id}}"
					]
				}
			},
			"response": []
		},
		{
			"name": "wheel-data-extraction",
			"event": [
				{
					"listen": "test",
					"script": {
						"exec": [
							"pm.test(\"200 status test\", function () {",
							"    pm.response.to.have.status(200);",
							"});",
							"",
							"pm.collectionVariables.set(\"wheel_data_extraction_id\", pm.response.json().id);",
							""
						],
						"type": "text/javascript",
						"packages": {}
					}
				}
			],
			"request": {
				"method": "POST",
				"header": [],
				"body": {
					"mode": "formdata",
					"formdata": [
						{
							"key": "image",
							"type": "file",
							"src": []
						}
					]
				},
				"url": {
					"raw": "{{base_path}}/wheel-data-extraction",
					"host": [
						"{{base_path}}"
					],
					"path": [
						"wheel-data-extraction"
					]
				}
			},
			"response": []
		}
	],
	"auth": {
		"type": "bearer",
		"bearer": [
			{
				"key": "token",
				"value": "{{api_key}}",
				"type": "string"
			}
		]
	},
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	],
	"variable": [
		{
			"key": "base_path",
			"value": "https://api.tyremotion.fr/v2",
			"type": "string"
		},
		{
			"key": "api_key",
			"value": "<YOUR-API-KEY>",
			"type": "string"
		},
		{
			"key": "size_recognition_id",
			"value": ""
		},
		{
			"key": "wheel_data_extraction_id",
			"value": ""
		}
	]
}