Spaces:
Sleeping
Sleeping
Commit ·
d81b677
1
Parent(s): 1a16fbb
chore: Run tests for extract and transform stages
Browse files- sql/global_amount_order_status.sql +1 -1
- tests/{.gitkeep → __init__.py} +0 -0
- tests/query_results/delivery_date_difference.json +29 -0
- tests/query_results/get_freight_value_weight_relationship.json +0 -0
- tests/query_results/global_amount_order_status.json +10 -0
- tests/query_results/orders_per_day_and_holidays_2017.json +363 -0
- tests/query_results/real_vs_estimated_delivered_time.json +122 -0
- tests/query_results/revenue_by_month_year.json +86 -0
- tests/query_results/revenue_per_state.json +12 -0
- tests/query_results/top_10_least_revenue_categories.json +16 -0
- tests/query_results/top_10_revenue_categories.json +44 -0
- tests/test_extract.py +29 -0
- tests/test_transform.py +214 -0
sql/global_amount_order_status.sql
CHANGED
|
@@ -6,7 +6,7 @@
|
|
| 6 |
-- 3. Group the results by the order status.
|
| 7 |
SELECT
|
| 8 |
oo.order_status,
|
| 9 |
-
COUNT(oo.order_status) AS
|
| 10 |
FROM
|
| 11 |
olist_orders oo
|
| 12 |
GROUP BY
|
|
|
|
| 6 |
-- 3. Group the results by the order status.
|
| 7 |
SELECT
|
| 8 |
oo.order_status,
|
| 9 |
+
COUNT(oo.order_status) AS Amount
|
| 10 |
FROM
|
| 11 |
olist_orders oo
|
| 12 |
GROUP BY
|
tests/{.gitkeep → __init__.py}
RENAMED
|
File without changes
|
tests/query_results/delivery_date_difference.json
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{ "State": "AL", "Delivery_Difference": 8 },
|
| 3 |
+
{ "State": "MA", "Delivery_Difference": 9 },
|
| 4 |
+
{ "State": "BA", "Delivery_Difference": 10 },
|
| 5 |
+
{ "State": "CE", "Delivery_Difference": 10 },
|
| 6 |
+
{ "State": "ES", "Delivery_Difference": 10 },
|
| 7 |
+
{ "State": "SE", "Delivery_Difference": 10 },
|
| 8 |
+
{ "State": "MS", "Delivery_Difference": 11 },
|
| 9 |
+
{ "State": "PI", "Delivery_Difference": 11 },
|
| 10 |
+
{ "State": "RJ", "Delivery_Difference": 11 },
|
| 11 |
+
{ "State": "SC", "Delivery_Difference": 11 },
|
| 12 |
+
{ "State": "SP", "Delivery_Difference": 11 },
|
| 13 |
+
{ "State": "DF", "Delivery_Difference": 12 },
|
| 14 |
+
{ "State": "GO", "Delivery_Difference": 12 },
|
| 15 |
+
{ "State": "TO", "Delivery_Difference": 12 },
|
| 16 |
+
{ "State": "MG", "Delivery_Difference": 13 },
|
| 17 |
+
{ "State": "PB", "Delivery_Difference": 13 },
|
| 18 |
+
{ "State": "PE", "Delivery_Difference": 13 },
|
| 19 |
+
{ "State": "PR", "Delivery_Difference": 13 },
|
| 20 |
+
{ "State": "RN", "Delivery_Difference": 13 },
|
| 21 |
+
{ "State": "RS", "Delivery_Difference": 13 },
|
| 22 |
+
{ "State": "MT", "Delivery_Difference": 14 },
|
| 23 |
+
{ "State": "PA", "Delivery_Difference": 14 },
|
| 24 |
+
{ "State": "RR", "Delivery_Difference": 17 },
|
| 25 |
+
{ "State": "AM", "Delivery_Difference": 19 },
|
| 26 |
+
{ "State": "AP", "Delivery_Difference": 19 },
|
| 27 |
+
{ "State": "AC", "Delivery_Difference": 20 },
|
| 28 |
+
{ "State": "RO", "Delivery_Difference": 20 }
|
| 29 |
+
]
|
tests/query_results/get_freight_value_weight_relationship.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tests/query_results/global_amount_order_status.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{ "order_status": "approved", "Amount": 2 },
|
| 3 |
+
{ "order_status": "canceled", "Amount": 625 },
|
| 4 |
+
{ "order_status": "created", "Amount": 5 },
|
| 5 |
+
{ "order_status": "delivered", "Amount": 96478 },
|
| 6 |
+
{ "order_status": "invoiced", "Amount": 314 },
|
| 7 |
+
{ "order_status": "processing", "Amount": 301 },
|
| 8 |
+
{ "order_status": "shipped", "Amount": 1107 },
|
| 9 |
+
{ "order_status": "unavailable", "Amount": 609 }
|
| 10 |
+
]
|
tests/query_results/orders_per_day_and_holidays_2017.json
ADDED
|
@@ -0,0 +1,363 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{ "order_count": 32, "date": 1483574400000, "holiday": false },
|
| 3 |
+
{ "order_count": 4, "date": 1483660800000, "holiday": false },
|
| 4 |
+
{ "order_count": 4, "date": 1483747200000, "holiday": false },
|
| 5 |
+
{ "order_count": 6, "date": 1483833600000, "holiday": false },
|
| 6 |
+
{ "order_count": 5, "date": 1483920000000, "holiday": false },
|
| 7 |
+
{ "order_count": 6, "date": 1484006400000, "holiday": false },
|
| 8 |
+
{ "order_count": 12, "date": 1484092800000, "holiday": false },
|
| 9 |
+
{ "order_count": 13, "date": 1484179200000, "holiday": false },
|
| 10 |
+
{ "order_count": 12, "date": 1484265600000, "holiday": false },
|
| 11 |
+
{ "order_count": 18, "date": 1484352000000, "holiday": false },
|
| 12 |
+
{ "order_count": 14, "date": 1484438400000, "holiday": false },
|
| 13 |
+
{ "order_count": 19, "date": 1484524800000, "holiday": false },
|
| 14 |
+
{ "order_count": 32, "date": 1484611200000, "holiday": false },
|
| 15 |
+
{ "order_count": 33, "date": 1484697600000, "holiday": false },
|
| 16 |
+
{ "order_count": 29, "date": 1484784000000, "holiday": false },
|
| 17 |
+
{ "order_count": 29, "date": 1484870400000, "holiday": false },
|
| 18 |
+
{ "order_count": 24, "date": 1484956800000, "holiday": false },
|
| 19 |
+
{ "order_count": 31, "date": 1485043200000, "holiday": false },
|
| 20 |
+
{ "order_count": 39, "date": 1485129600000, "holiday": false },
|
| 21 |
+
{ "order_count": 40, "date": 1485216000000, "holiday": false },
|
| 22 |
+
{ "order_count": 63, "date": 1485302400000, "holiday": false },
|
| 23 |
+
{ "order_count": 86, "date": 1485388800000, "holiday": false },
|
| 24 |
+
{ "order_count": 62, "date": 1485475200000, "holiday": false },
|
| 25 |
+
{ "order_count": 29, "date": 1485561600000, "holiday": false },
|
| 26 |
+
{ "order_count": 35, "date": 1485648000000, "holiday": false },
|
| 27 |
+
{ "order_count": 53, "date": 1485734400000, "holiday": false },
|
| 28 |
+
{ "order_count": 70, "date": 1485820800000, "holiday": false },
|
| 29 |
+
{ "order_count": 73, "date": 1485907200000, "holiday": false },
|
| 30 |
+
{ "order_count": 69, "date": 1485993600000, "holiday": false },
|
| 31 |
+
{ "order_count": 60, "date": 1486080000000, "holiday": false },
|
| 32 |
+
{ "order_count": 67, "date": 1486166400000, "holiday": false },
|
| 33 |
+
{ "order_count": 75, "date": 1486252800000, "holiday": false },
|
| 34 |
+
{ "order_count": 85, "date": 1486339200000, "holiday": false },
|
| 35 |
+
{ "order_count": 112, "date": 1486425600000, "holiday": false },
|
| 36 |
+
{ "order_count": 95, "date": 1486512000000, "holiday": false },
|
| 37 |
+
{ "order_count": 77, "date": 1486598400000, "holiday": false },
|
| 38 |
+
{ "order_count": 66, "date": 1486684800000, "holiday": false },
|
| 39 |
+
{ "order_count": 49, "date": 1486771200000, "holiday": false },
|
| 40 |
+
{ "order_count": 64, "date": 1486857600000, "holiday": false },
|
| 41 |
+
{ "order_count": 78, "date": 1486944000000, "holiday": false },
|
| 42 |
+
{ "order_count": 76, "date": 1487030400000, "holiday": false },
|
| 43 |
+
{ "order_count": 62, "date": 1487116800000, "holiday": false },
|
| 44 |
+
{ "order_count": 55, "date": 1487203200000, "holiday": false },
|
| 45 |
+
{ "order_count": 46, "date": 1487289600000, "holiday": false },
|
| 46 |
+
{ "order_count": 54, "date": 1487376000000, "holiday": false },
|
| 47 |
+
{ "order_count": 40, "date": 1487462400000, "holiday": false },
|
| 48 |
+
{ "order_count": 63, "date": 1487548800000, "holiday": false },
|
| 49 |
+
{ "order_count": 41, "date": 1487635200000, "holiday": false },
|
| 50 |
+
{ "order_count": 63, "date": 1487721600000, "holiday": false },
|
| 51 |
+
{ "order_count": 59, "date": 1487808000000, "holiday": false },
|
| 52 |
+
{ "order_count": 64, "date": 1487894400000, "holiday": false },
|
| 53 |
+
{ "order_count": 43, "date": 1487980800000, "holiday": false },
|
| 54 |
+
{ "order_count": 46, "date": 1488067200000, "holiday": false },
|
| 55 |
+
{ "order_count": 43, "date": 1488153600000, "holiday": true },
|
| 56 |
+
{ "order_count": 55, "date": 1488240000000, "holiday": true },
|
| 57 |
+
{ "order_count": 99, "date": 1488326400000, "holiday": false },
|
| 58 |
+
{ "order_count": 72, "date": 1488412800000, "holiday": false },
|
| 59 |
+
{ "order_count": 74, "date": 1488499200000, "holiday": false },
|
| 60 |
+
{ "order_count": 80, "date": 1488585600000, "holiday": false },
|
| 61 |
+
{ "order_count": 74, "date": 1488672000000, "holiday": false },
|
| 62 |
+
{ "order_count": 105, "date": 1488758400000, "holiday": false },
|
| 63 |
+
{ "order_count": 82, "date": 1488844800000, "holiday": false },
|
| 64 |
+
{ "order_count": 79, "date": 1488931200000, "holiday": false },
|
| 65 |
+
{ "order_count": 93, "date": 1489017600000, "holiday": false },
|
| 66 |
+
{ "order_count": 88, "date": 1489104000000, "holiday": false },
|
| 67 |
+
{ "order_count": 71, "date": 1489190400000, "holiday": false },
|
| 68 |
+
{ "order_count": 64, "date": 1489276800000, "holiday": false },
|
| 69 |
+
{ "order_count": 111, "date": 1489363200000, "holiday": false },
|
| 70 |
+
{ "order_count": 99, "date": 1489449600000, "holiday": false },
|
| 71 |
+
{ "order_count": 108, "date": 1489536000000, "holiday": false },
|
| 72 |
+
{ "order_count": 103, "date": 1489622400000, "holiday": false },
|
| 73 |
+
{ "order_count": 65, "date": 1489708800000, "holiday": false },
|
| 74 |
+
{ "order_count": 73, "date": 1489795200000, "holiday": false },
|
| 75 |
+
{ "order_count": 56, "date": 1489881600000, "holiday": false },
|
| 76 |
+
{ "order_count": 119, "date": 1489968000000, "holiday": false },
|
| 77 |
+
{ "order_count": 97, "date": 1490054400000, "holiday": false },
|
| 78 |
+
{ "order_count": 105, "date": 1490140800000, "holiday": false },
|
| 79 |
+
{ "order_count": 114, "date": 1490227200000, "holiday": false },
|
| 80 |
+
{ "order_count": 79, "date": 1490313600000, "holiday": false },
|
| 81 |
+
{ "order_count": 76, "date": 1490400000000, "holiday": false },
|
| 82 |
+
{ "order_count": 64, "date": 1490486400000, "holiday": false },
|
| 83 |
+
{ "order_count": 111, "date": 1490572800000, "holiday": false },
|
| 84 |
+
{ "order_count": 103, "date": 1490659200000, "holiday": false },
|
| 85 |
+
{ "order_count": 74, "date": 1490745600000, "holiday": false },
|
| 86 |
+
{ "order_count": 74, "date": 1490832000000, "holiday": false },
|
| 87 |
+
{ "order_count": 70, "date": 1490918400000, "holiday": false },
|
| 88 |
+
{ "order_count": 68, "date": 1491004800000, "holiday": false },
|
| 89 |
+
{ "order_count": 65, "date": 1491091200000, "holiday": false },
|
| 90 |
+
{ "order_count": 72, "date": 1491177600000, "holiday": false },
|
| 91 |
+
{ "order_count": 96, "date": 1491264000000, "holiday": false },
|
| 92 |
+
{ "order_count": 96, "date": 1491350400000, "holiday": false },
|
| 93 |
+
{ "order_count": 96, "date": 1491436800000, "holiday": false },
|
| 94 |
+
{ "order_count": 85, "date": 1491523200000, "holiday": false },
|
| 95 |
+
{ "order_count": 68, "date": 1491609600000, "holiday": false },
|
| 96 |
+
{ "order_count": 73, "date": 1491696000000, "holiday": false },
|
| 97 |
+
{ "order_count": 87, "date": 1491782400000, "holiday": false },
|
| 98 |
+
{ "order_count": 78, "date": 1491868800000, "holiday": false },
|
| 99 |
+
{ "order_count": 63, "date": 1491955200000, "holiday": false },
|
| 100 |
+
{ "order_count": 60, "date": 1492041600000, "holiday": false },
|
| 101 |
+
{ "order_count": 54, "date": 1492128000000, "holiday": true },
|
| 102 |
+
{ "order_count": 52, "date": 1492214400000, "holiday": false },
|
| 103 |
+
{ "order_count": 49, "date": 1492300800000, "holiday": true },
|
| 104 |
+
{ "order_count": 65, "date": 1492387200000, "holiday": false },
|
| 105 |
+
{ "order_count": 71, "date": 1492473600000, "holiday": false },
|
| 106 |
+
{ "order_count": 97, "date": 1492560000000, "holiday": false },
|
| 107 |
+
{ "order_count": 98, "date": 1492646400000, "holiday": false },
|
| 108 |
+
{ "order_count": 68, "date": 1492732800000, "holiday": true },
|
| 109 |
+
{ "order_count": 84, "date": 1492819200000, "holiday": false },
|
| 110 |
+
{ "order_count": 88, "date": 1492905600000, "holiday": false },
|
| 111 |
+
{ "order_count": 115, "date": 1492992000000, "holiday": false },
|
| 112 |
+
{ "order_count": 111, "date": 1493078400000, "holiday": false },
|
| 113 |
+
{ "order_count": 125, "date": 1493164800000, "holiday": false },
|
| 114 |
+
{ "order_count": 80, "date": 1493251200000, "holiday": false },
|
| 115 |
+
{ "order_count": 98, "date": 1493337600000, "holiday": false },
|
| 116 |
+
{ "order_count": 74, "date": 1493424000000, "holiday": false },
|
| 117 |
+
{ "order_count": 68, "date": 1493510400000, "holiday": false },
|
| 118 |
+
{ "order_count": 117, "date": 1493596800000, "holiday": true },
|
| 119 |
+
{ "order_count": 128, "date": 1493683200000, "holiday": false },
|
| 120 |
+
{ "order_count": 103, "date": 1493769600000, "holiday": false },
|
| 121 |
+
{ "order_count": 109, "date": 1493856000000, "holiday": false },
|
| 122 |
+
{ "order_count": 111, "date": 1493942400000, "holiday": false },
|
| 123 |
+
{ "order_count": 109, "date": 1494028800000, "holiday": false },
|
| 124 |
+
{ "order_count": 111, "date": 1494115200000, "holiday": false },
|
| 125 |
+
{ "order_count": 124, "date": 1494201600000, "holiday": false },
|
| 126 |
+
{ "order_count": 128, "date": 1494288000000, "holiday": false },
|
| 127 |
+
{ "order_count": 116, "date": 1494374400000, "holiday": false },
|
| 128 |
+
{ "order_count": 126, "date": 1494460800000, "holiday": false },
|
| 129 |
+
{ "order_count": 115, "date": 1494547200000, "holiday": false },
|
| 130 |
+
{ "order_count": 73, "date": 1494633600000, "holiday": false },
|
| 131 |
+
{ "order_count": 112, "date": 1494720000000, "holiday": false },
|
| 132 |
+
{ "order_count": 157, "date": 1494806400000, "holiday": false },
|
| 133 |
+
{ "order_count": 153, "date": 1494892800000, "holiday": false },
|
| 134 |
+
{ "order_count": 141, "date": 1494979200000, "holiday": false },
|
| 135 |
+
{ "order_count": 125, "date": 1495065600000, "holiday": false },
|
| 136 |
+
{ "order_count": 144, "date": 1495152000000, "holiday": false },
|
| 137 |
+
{ "order_count": 72, "date": 1495238400000, "holiday": false },
|
| 138 |
+
{ "order_count": 148, "date": 1495324800000, "holiday": false },
|
| 139 |
+
{ "order_count": 148, "date": 1495411200000, "holiday": false },
|
| 140 |
+
{ "order_count": 125, "date": 1495497600000, "holiday": false },
|
| 141 |
+
{ "order_count": 142, "date": 1495584000000, "holiday": false },
|
| 142 |
+
{ "order_count": 108, "date": 1495670400000, "holiday": false },
|
| 143 |
+
{ "order_count": 80, "date": 1495756800000, "holiday": false },
|
| 144 |
+
{ "order_count": 83, "date": 1495843200000, "holiday": false },
|
| 145 |
+
{ "order_count": 98, "date": 1495929600000, "holiday": false },
|
| 146 |
+
{ "order_count": 160, "date": 1496016000000, "holiday": false },
|
| 147 |
+
{ "order_count": 105, "date": 1496102400000, "holiday": false },
|
| 148 |
+
{ "order_count": 129, "date": 1496188800000, "holiday": false },
|
| 149 |
+
{ "order_count": 124, "date": 1496275200000, "holiday": false },
|
| 150 |
+
{ "order_count": 127, "date": 1496361600000, "holiday": false },
|
| 151 |
+
{ "order_count": 89, "date": 1496448000000, "holiday": false },
|
| 152 |
+
{ "order_count": 102, "date": 1496534400000, "holiday": false },
|
| 153 |
+
{ "order_count": 147, "date": 1496620800000, "holiday": false },
|
| 154 |
+
{ "order_count": 134, "date": 1496707200000, "holiday": false },
|
| 155 |
+
{ "order_count": 129, "date": 1496793600000, "holiday": false },
|
| 156 |
+
{ "order_count": 137, "date": 1496880000000, "holiday": false },
|
| 157 |
+
{ "order_count": 108, "date": 1496966400000, "holiday": false },
|
| 158 |
+
{ "order_count": 77, "date": 1497052800000, "holiday": false },
|
| 159 |
+
{ "order_count": 115, "date": 1497139200000, "holiday": false },
|
| 160 |
+
{ "order_count": 126, "date": 1497225600000, "holiday": false },
|
| 161 |
+
{ "order_count": 126, "date": 1497312000000, "holiday": false },
|
| 162 |
+
{ "order_count": 131, "date": 1497398400000, "holiday": false },
|
| 163 |
+
{ "order_count": 108, "date": 1497484800000, "holiday": true },
|
| 164 |
+
{ "order_count": 97, "date": 1497571200000, "holiday": false },
|
| 165 |
+
{ "order_count": 75, "date": 1497657600000, "holiday": false },
|
| 166 |
+
{ "order_count": 90, "date": 1497744000000, "holiday": false },
|
| 167 |
+
{ "order_count": 156, "date": 1497830400000, "holiday": false },
|
| 168 |
+
{ "order_count": 94, "date": 1497916800000, "holiday": false },
|
| 169 |
+
{ "order_count": 35, "date": 1498003200000, "holiday": false },
|
| 170 |
+
{ "order_count": 88, "date": 1498089600000, "holiday": false },
|
| 171 |
+
{ "order_count": 107, "date": 1498176000000, "holiday": false },
|
| 172 |
+
{ "order_count": 76, "date": 1498262400000, "holiday": false },
|
| 173 |
+
{ "order_count": 105, "date": 1498348800000, "holiday": false },
|
| 174 |
+
{ "order_count": 72, "date": 1498435200000, "holiday": false },
|
| 175 |
+
{ "order_count": 141, "date": 1498521600000, "holiday": false },
|
| 176 |
+
{ "order_count": 120, "date": 1498608000000, "holiday": false },
|
| 177 |
+
{ "order_count": 114, "date": 1498694400000, "holiday": false },
|
| 178 |
+
{ "order_count": 95, "date": 1498780800000, "holiday": false },
|
| 179 |
+
{ "order_count": 80, "date": 1498867200000, "holiday": false },
|
| 180 |
+
{ "order_count": 108, "date": 1498953600000, "holiday": false },
|
| 181 |
+
{ "order_count": 118, "date": 1499040000000, "holiday": false },
|
| 182 |
+
{ "order_count": 125, "date": 1499126400000, "holiday": false },
|
| 183 |
+
{ "order_count": 145, "date": 1499212800000, "holiday": false },
|
| 184 |
+
{ "order_count": 154, "date": 1499299200000, "holiday": false },
|
| 185 |
+
{ "order_count": 121, "date": 1499385600000, "holiday": false },
|
| 186 |
+
{ "order_count": 84, "date": 1499472000000, "holiday": false },
|
| 187 |
+
{ "order_count": 94, "date": 1499558400000, "holiday": true },
|
| 188 |
+
{ "order_count": 143, "date": 1499644800000, "holiday": false },
|
| 189 |
+
{ "order_count": 165, "date": 1499731200000, "holiday": false },
|
| 190 |
+
{ "order_count": 153, "date": 1499817600000, "holiday": false },
|
| 191 |
+
{ "order_count": 137, "date": 1499904000000, "holiday": false },
|
| 192 |
+
{ "order_count": 149, "date": 1499990400000, "holiday": false },
|
| 193 |
+
{ "order_count": 98, "date": 1500076800000, "holiday": false },
|
| 194 |
+
{ "order_count": 114, "date": 1500163200000, "holiday": false },
|
| 195 |
+
{ "order_count": 168, "date": 1500249600000, "holiday": false },
|
| 196 |
+
{ "order_count": 192, "date": 1500336000000, "holiday": false },
|
| 197 |
+
{ "order_count": 153, "date": 1500422400000, "holiday": false },
|
| 198 |
+
{ "order_count": 142, "date": 1500508800000, "holiday": false },
|
| 199 |
+
{ "order_count": 115, "date": 1500595200000, "holiday": false },
|
| 200 |
+
{ "order_count": 88, "date": 1500681600000, "holiday": false },
|
| 201 |
+
{ "order_count": 105, "date": 1500768000000, "holiday": false },
|
| 202 |
+
{ "order_count": 162, "date": 1500854400000, "holiday": false },
|
| 203 |
+
{ "order_count": 153, "date": 1500940800000, "holiday": false },
|
| 204 |
+
{ "order_count": 124, "date": 1501027200000, "holiday": false },
|
| 205 |
+
{ "order_count": 124, "date": 1501113600000, "holiday": false },
|
| 206 |
+
{ "order_count": 132, "date": 1501200000000, "holiday": false },
|
| 207 |
+
{ "order_count": 115, "date": 1501286400000, "holiday": false },
|
| 208 |
+
{ "order_count": 117, "date": 1501372800000, "holiday": false },
|
| 209 |
+
{ "order_count": 148, "date": 1501459200000, "holiday": false },
|
| 210 |
+
{ "order_count": 165, "date": 1501545600000, "holiday": false },
|
| 211 |
+
{ "order_count": 157, "date": 1501632000000, "holiday": false },
|
| 212 |
+
{ "order_count": 148, "date": 1501718400000, "holiday": false },
|
| 213 |
+
{ "order_count": 142, "date": 1501804800000, "holiday": false },
|
| 214 |
+
{ "order_count": 115, "date": 1501891200000, "holiday": false },
|
| 215 |
+
{ "order_count": 109, "date": 1501977600000, "holiday": false },
|
| 216 |
+
{ "order_count": 157, "date": 1502064000000, "holiday": false },
|
| 217 |
+
{ "order_count": 146, "date": 1502150400000, "holiday": false },
|
| 218 |
+
{ "order_count": 144, "date": 1502236800000, "holiday": false },
|
| 219 |
+
{ "order_count": 157, "date": 1502323200000, "holiday": false },
|
| 220 |
+
{ "order_count": 141, "date": 1502409600000, "holiday": false },
|
| 221 |
+
{ "order_count": 98, "date": 1502496000000, "holiday": false },
|
| 222 |
+
{ "order_count": 96, "date": 1502582400000, "holiday": false },
|
| 223 |
+
{ "order_count": 159, "date": 1502668800000, "holiday": false },
|
| 224 |
+
{ "order_count": 194, "date": 1502755200000, "holiday": false },
|
| 225 |
+
{ "order_count": 174, "date": 1502841600000, "holiday": false },
|
| 226 |
+
{ "order_count": 158, "date": 1502928000000, "holiday": false },
|
| 227 |
+
{ "order_count": 147, "date": 1503014400000, "holiday": false },
|
| 228 |
+
{ "order_count": 108, "date": 1503100800000, "holiday": false },
|
| 229 |
+
{ "order_count": 104, "date": 1503187200000, "holiday": false },
|
| 230 |
+
{ "order_count": 177, "date": 1503273600000, "holiday": false },
|
| 231 |
+
{ "order_count": 138, "date": 1503360000000, "holiday": false },
|
| 232 |
+
{ "order_count": 112, "date": 1503446400000, "holiday": false },
|
| 233 |
+
{ "order_count": 128, "date": 1503532800000, "holiday": false },
|
| 234 |
+
{ "order_count": 123, "date": 1503619200000, "holiday": false },
|
| 235 |
+
{ "order_count": 93, "date": 1503705600000, "holiday": false },
|
| 236 |
+
{ "order_count": 119, "date": 1503792000000, "holiday": false },
|
| 237 |
+
{ "order_count": 155, "date": 1503878400000, "holiday": false },
|
| 238 |
+
{ "order_count": 137, "date": 1503964800000, "holiday": false },
|
| 239 |
+
{ "order_count": 181, "date": 1504051200000, "holiday": false },
|
| 240 |
+
{ "order_count": 149, "date": 1504137600000, "holiday": false },
|
| 241 |
+
{ "order_count": 158, "date": 1504224000000, "holiday": false },
|
| 242 |
+
{ "order_count": 104, "date": 1504310400000, "holiday": false },
|
| 243 |
+
{ "order_count": 125, "date": 1504396800000, "holiday": false },
|
| 244 |
+
{ "order_count": 150, "date": 1504483200000, "holiday": false },
|
| 245 |
+
{ "order_count": 157, "date": 1504569600000, "holiday": false },
|
| 246 |
+
{ "order_count": 140, "date": 1504656000000, "holiday": false },
|
| 247 |
+
{ "order_count": 99, "date": 1504742400000, "holiday": true },
|
| 248 |
+
{ "order_count": 116, "date": 1504828800000, "holiday": false },
|
| 249 |
+
{ "order_count": 106, "date": 1504915200000, "holiday": false },
|
| 250 |
+
{ "order_count": 136, "date": 1505001600000, "holiday": false },
|
| 251 |
+
{ "order_count": 180, "date": 1505088000000, "holiday": false },
|
| 252 |
+
{ "order_count": 206, "date": 1505174400000, "holiday": false },
|
| 253 |
+
{ "order_count": 207, "date": 1505260800000, "holiday": false },
|
| 254 |
+
{ "order_count": 166, "date": 1505347200000, "holiday": false },
|
| 255 |
+
{ "order_count": 150, "date": 1505433600000, "holiday": false },
|
| 256 |
+
{ "order_count": 129, "date": 1505520000000, "holiday": false },
|
| 257 |
+
{ "order_count": 126, "date": 1505606400000, "holiday": false },
|
| 258 |
+
{ "order_count": 183, "date": 1505692800000, "holiday": false },
|
| 259 |
+
{ "order_count": 154, "date": 1505779200000, "holiday": false },
|
| 260 |
+
{ "order_count": 163, "date": 1505865600000, "holiday": false },
|
| 261 |
+
{ "order_count": 150, "date": 1505952000000, "holiday": false },
|
| 262 |
+
{ "order_count": 138, "date": 1506038400000, "holiday": false },
|
| 263 |
+
{ "order_count": 88, "date": 1506124800000, "holiday": false },
|
| 264 |
+
{ "order_count": 118, "date": 1506211200000, "holiday": false },
|
| 265 |
+
{ "order_count": 136, "date": 1506297600000, "holiday": false },
|
| 266 |
+
{ "order_count": 180, "date": 1506384000000, "holiday": false },
|
| 267 |
+
{ "order_count": 147, "date": 1506470400000, "holiday": false },
|
| 268 |
+
{ "order_count": 143, "date": 1506556800000, "holiday": false },
|
| 269 |
+
{ "order_count": 121, "date": 1506643200000, "holiday": false },
|
| 270 |
+
{ "order_count": 109, "date": 1506729600000, "holiday": false },
|
| 271 |
+
{ "order_count": 128, "date": 1506816000000, "holiday": false },
|
| 272 |
+
{ "order_count": 143, "date": 1506902400000, "holiday": false },
|
| 273 |
+
{ "order_count": 198, "date": 1506988800000, "holiday": false },
|
| 274 |
+
{ "order_count": 157, "date": 1507075200000, "holiday": false },
|
| 275 |
+
{ "order_count": 140, "date": 1507161600000, "holiday": false },
|
| 276 |
+
{ "order_count": 130, "date": 1507248000000, "holiday": false },
|
| 277 |
+
{ "order_count": 105, "date": 1507334400000, "holiday": false },
|
| 278 |
+
{ "order_count": 126, "date": 1507420800000, "holiday": false },
|
| 279 |
+
{ "order_count": 193, "date": 1507507200000, "holiday": false },
|
| 280 |
+
{ "order_count": 185, "date": 1507593600000, "holiday": false },
|
| 281 |
+
{ "order_count": 158, "date": 1507680000000, "holiday": false },
|
| 282 |
+
{ "order_count": 143, "date": 1507766400000, "holiday": true },
|
| 283 |
+
{ "order_count": 154, "date": 1507852800000, "holiday": false },
|
| 284 |
+
{ "order_count": 116, "date": 1507939200000, "holiday": false },
|
| 285 |
+
{ "order_count": 121, "date": 1508025600000, "holiday": false },
|
| 286 |
+
{ "order_count": 195, "date": 1508112000000, "holiday": false },
|
| 287 |
+
{ "order_count": 202, "date": 1508198400000, "holiday": false },
|
| 288 |
+
{ "order_count": 179, "date": 1508284800000, "holiday": false },
|
| 289 |
+
{ "order_count": 176, "date": 1508371200000, "holiday": false },
|
| 290 |
+
{ "order_count": 124, "date": 1508457600000, "holiday": false },
|
| 291 |
+
{ "order_count": 113, "date": 1508544000000, "holiday": false },
|
| 292 |
+
{ "order_count": 158, "date": 1508630400000, "holiday": false },
|
| 293 |
+
{ "order_count": 161, "date": 1508716800000, "holiday": false },
|
| 294 |
+
{ "order_count": 164, "date": 1508803200000, "holiday": false },
|
| 295 |
+
{ "order_count": 156, "date": 1508889600000, "holiday": false },
|
| 296 |
+
{ "order_count": 144, "date": 1508976000000, "holiday": false },
|
| 297 |
+
{ "order_count": 133, "date": 1509062400000, "holiday": false },
|
| 298 |
+
{ "order_count": 88, "date": 1509148800000, "holiday": false },
|
| 299 |
+
{ "order_count": 132, "date": 1509235200000, "holiday": false },
|
| 300 |
+
{ "order_count": 149, "date": 1509321600000, "holiday": false },
|
| 301 |
+
{ "order_count": 160, "date": 1509408000000, "holiday": false },
|
| 302 |
+
{ "order_count": 111, "date": 1509494400000, "holiday": false },
|
| 303 |
+
{ "order_count": 124, "date": 1509580800000, "holiday": true },
|
| 304 |
+
{ "order_count": 143, "date": 1509667200000, "holiday": false },
|
| 305 |
+
{ "order_count": 111, "date": 1509753600000, "holiday": false },
|
| 306 |
+
{ "order_count": 144, "date": 1509840000000, "holiday": false },
|
| 307 |
+
{ "order_count": 193, "date": 1509926400000, "holiday": false },
|
| 308 |
+
{ "order_count": 160, "date": 1510012800000, "holiday": false },
|
| 309 |
+
{ "order_count": 175, "date": 1510099200000, "holiday": false },
|
| 310 |
+
{ "order_count": 191, "date": 1510185600000, "holiday": false },
|
| 311 |
+
{ "order_count": 165, "date": 1510272000000, "holiday": false },
|
| 312 |
+
{ "order_count": 159, "date": 1510358400000, "holiday": false },
|
| 313 |
+
{ "order_count": 174, "date": 1510444800000, "holiday": false },
|
| 314 |
+
{ "order_count": 205, "date": 1510531200000, "holiday": false },
|
| 315 |
+
{ "order_count": 192, "date": 1510617600000, "holiday": false },
|
| 316 |
+
{ "order_count": 186, "date": 1510704000000, "holiday": true },
|
| 317 |
+
{ "order_count": 226, "date": 1510790400000, "holiday": false },
|
| 318 |
+
{ "order_count": 197, "date": 1510876800000, "holiday": false },
|
| 319 |
+
{ "order_count": 149, "date": 1510963200000, "holiday": false },
|
| 320 |
+
{ "order_count": 158, "date": 1511049600000, "holiday": false },
|
| 321 |
+
{ "order_count": 230, "date": 1511136000000, "holiday": false },
|
| 322 |
+
{ "order_count": 228, "date": 1511222400000, "holiday": false },
|
| 323 |
+
{ "order_count": 201, "date": 1511308800000, "holiday": false },
|
| 324 |
+
{ "order_count": 283, "date": 1511395200000, "holiday": false },
|
| 325 |
+
{ "order_count": 1176, "date": 1511481600000, "holiday": false },
|
| 326 |
+
{ "order_count": 499, "date": 1511568000000, "holiday": false },
|
| 327 |
+
{ "order_count": 391, "date": 1511654400000, "holiday": false },
|
| 328 |
+
{ "order_count": 403, "date": 1511740800000, "holiday": false },
|
| 329 |
+
{ "order_count": 380, "date": 1511827200000, "holiday": false },
|
| 330 |
+
{ "order_count": 323, "date": 1511913600000, "holiday": false },
|
| 331 |
+
{ "order_count": 267, "date": 1512000000000, "holiday": false },
|
| 332 |
+
{ "order_count": 275, "date": 1512086400000, "holiday": false },
|
| 333 |
+
{ "order_count": 216, "date": 1512172800000, "holiday": false },
|
| 334 |
+
{ "order_count": 234, "date": 1512259200000, "holiday": false },
|
| 335 |
+
{ "order_count": 337, "date": 1512345600000, "holiday": false },
|
| 336 |
+
{ "order_count": 282, "date": 1512432000000, "holiday": false },
|
| 337 |
+
{ "order_count": 280, "date": 1512518400000, "holiday": false },
|
| 338 |
+
{ "order_count": 229, "date": 1512604800000, "holiday": false },
|
| 339 |
+
{ "order_count": 219, "date": 1512691200000, "holiday": false },
|
| 340 |
+
{ "order_count": 155, "date": 1512777600000, "holiday": false },
|
| 341 |
+
{ "order_count": 190, "date": 1512864000000, "holiday": false },
|
| 342 |
+
{ "order_count": 267, "date": 1512950400000, "holiday": false },
|
| 343 |
+
{ "order_count": 260, "date": 1513036800000, "holiday": false },
|
| 344 |
+
{ "order_count": 218, "date": 1513123200000, "holiday": false },
|
| 345 |
+
{ "order_count": 200, "date": 1513209600000, "holiday": false },
|
| 346 |
+
{ "order_count": 192, "date": 1513296000000, "holiday": false },
|
| 347 |
+
{ "order_count": 131, "date": 1513382400000, "holiday": false },
|
| 348 |
+
{ "order_count": 133, "date": 1513468800000, "holiday": false },
|
| 349 |
+
{ "order_count": 209, "date": 1513555200000, "holiday": false },
|
| 350 |
+
{ "order_count": 176, "date": 1513641600000, "holiday": false },
|
| 351 |
+
{ "order_count": 171, "date": 1513728000000, "holiday": false },
|
| 352 |
+
{ "order_count": 143, "date": 1513814400000, "holiday": false },
|
| 353 |
+
{ "order_count": 111, "date": 1513900800000, "holiday": false },
|
| 354 |
+
{ "order_count": 109, "date": 1513987200000, "holiday": false },
|
| 355 |
+
{ "order_count": 59, "date": 1514073600000, "holiday": false },
|
| 356 |
+
{ "order_count": 90, "date": 1514160000000, "holiday": true },
|
| 357 |
+
{ "order_count": 168, "date": 1514246400000, "holiday": false },
|
| 358 |
+
{ "order_count": 167, "date": 1514332800000, "holiday": false },
|
| 359 |
+
{ "order_count": 146, "date": 1514419200000, "holiday": false },
|
| 360 |
+
{ "order_count": 135, "date": 1514505600000, "holiday": false },
|
| 361 |
+
{ "order_count": 97, "date": 1514592000000, "holiday": false },
|
| 362 |
+
{ "order_count": 74, "date": 1514678400000, "holiday": false }
|
| 363 |
+
]
|
tests/query_results/real_vs_estimated_delivered_time.json
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"month_no": "01",
|
| 4 |
+
"month": "Jan",
|
| 5 |
+
"Year2016_real_time": null,
|
| 6 |
+
"Year2017_real_time": 12.6470435185,
|
| 7 |
+
"Year2018_real_time": 14.080562614,
|
| 8 |
+
"Year2016_estimated_time": null,
|
| 9 |
+
"Year2017_estimated_time": 39.5088310185,
|
| 10 |
+
"Year2018_estimated_time": 26.302555421
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"month_no": "02",
|
| 14 |
+
"month": "Feb",
|
| 15 |
+
"Year2016_real_time": null,
|
| 16 |
+
"Year2017_real_time": 13.168825249,
|
| 17 |
+
"Year2018_real_time": 16.9451375682,
|
| 18 |
+
"Year2016_estimated_time": null,
|
| 19 |
+
"Year2017_estimated_time": 31.8489294787,
|
| 20 |
+
"Year2018_estimated_time": 24.5289960502
|
| 21 |
+
},
|
| 22 |
+
{
|
| 23 |
+
"month_no": "03",
|
| 24 |
+
"month": "Mar",
|
| 25 |
+
"Year2016_real_time": null,
|
| 26 |
+
"Year2017_real_time": 12.9511844878,
|
| 27 |
+
"Year2018_real_time": 16.3014101744,
|
| 28 |
+
"Year2016_estimated_time": null,
|
| 29 |
+
"Year2017_estimated_time": 24.7323864777,
|
| 30 |
+
"Year2018_estimated_time": 22.0330668073
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"month_no": "04",
|
| 34 |
+
"month": "Apr",
|
| 35 |
+
"Year2016_real_time": null,
|
| 36 |
+
"Year2017_real_time": 14.9179125004,
|
| 37 |
+
"Year2018_real_time": 11.4992410537,
|
| 38 |
+
"Year2016_estimated_time": null,
|
| 39 |
+
"Year2017_estimated_time": 27.3498102013,
|
| 40 |
+
"Year2018_estimated_time": 23.6795464148
|
| 41 |
+
},
|
| 42 |
+
{
|
| 43 |
+
"month_no": "05",
|
| 44 |
+
"month": "May",
|
| 45 |
+
"Year2016_real_time": null,
|
| 46 |
+
"Year2017_real_time": 11.3223629754,
|
| 47 |
+
"Year2018_real_time": 11.4190289354,
|
| 48 |
+
"Year2016_estimated_time": null,
|
| 49 |
+
"Year2017_estimated_time": 24.2847835534,
|
| 50 |
+
"Year2018_estimated_time": 22.8914882657
|
| 51 |
+
},
|
| 52 |
+
{
|
| 53 |
+
"month_no": "06",
|
| 54 |
+
"month": "Jun",
|
| 55 |
+
"Year2016_real_time": null,
|
| 56 |
+
"Year2017_real_time": 12.0115727044,
|
| 57 |
+
"Year2018_real_time": 9.2392162932,
|
| 58 |
+
"Year2016_estimated_time": null,
|
| 59 |
+
"Year2017_estimated_time": 24.021864408,
|
| 60 |
+
"Year2018_estimated_time": 27.7727400937
|
| 61 |
+
},
|
| 62 |
+
{
|
| 63 |
+
"month_no": "07",
|
| 64 |
+
"month": "Jul",
|
| 65 |
+
"Year2016_real_time": null,
|
| 66 |
+
"Year2017_real_time": 11.5927323872,
|
| 67 |
+
"Year2018_real_time": 8.9586362372,
|
| 68 |
+
"Year2016_estimated_time": null,
|
| 69 |
+
"Year2017_estimated_time": 23.3173160613,
|
| 70 |
+
"Year2018_estimated_time": 19.6901265308
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"month_no": "08",
|
| 74 |
+
"month": "Aug",
|
| 75 |
+
"Year2016_real_time": null,
|
| 76 |
+
"Year2017_real_time": 11.1471246555,
|
| 77 |
+
"Year2018_real_time": 7.7327797205,
|
| 78 |
+
"Year2016_estimated_time": null,
|
| 79 |
+
"Year2017_estimated_time": 23.4806027434,
|
| 80 |
+
"Year2018_estimated_time": 15.1863302039
|
| 81 |
+
},
|
| 82 |
+
{
|
| 83 |
+
"month_no": "09",
|
| 84 |
+
"month": "Sep",
|
| 85 |
+
"Year2016_real_time": 54.8131944444,
|
| 86 |
+
"Year2017_real_time": 11.8510065289,
|
| 87 |
+
"Year2018_real_time": null,
|
| 88 |
+
"Year2016_estimated_time": 18.4884490739,
|
| 89 |
+
"Year2017_estimated_time": 22.4373663348,
|
| 90 |
+
"Year2018_estimated_time": null
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"month_no": "10",
|
| 94 |
+
"month": "Oct",
|
| 95 |
+
"Year2016_real_time": 19.6005587875,
|
| 96 |
+
"Year2017_real_time": 11.8566996985,
|
| 97 |
+
"Year2018_real_time": null,
|
| 98 |
+
"Year2016_estimated_time": 55.6766319881,
|
| 99 |
+
"Year2017_estimated_time": 23.0195358171,
|
| 100 |
+
"Year2018_estimated_time": null
|
| 101 |
+
},
|
| 102 |
+
{
|
| 103 |
+
"month_no": "11",
|
| 104 |
+
"month": "Nov",
|
| 105 |
+
"Year2016_real_time": null,
|
| 106 |
+
"Year2017_real_time": 15.1611316992,
|
| 107 |
+
"Year2018_real_time": null,
|
| 108 |
+
"Year2016_estimated_time": null,
|
| 109 |
+
"Year2017_estimated_time": 22.5607520147,
|
| 110 |
+
"Year2018_estimated_time": null
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"month_no": "12",
|
| 114 |
+
"month": "Dec",
|
| 115 |
+
"Year2016_real_time": 4.6930208337,
|
| 116 |
+
"Year2017_real_time": 15.3949185301,
|
| 117 |
+
"Year2018_real_time": null,
|
| 118 |
+
"Year2016_estimated_time": 26.0300115743,
|
| 119 |
+
"Year2017_estimated_time": 27.6813399641,
|
| 120 |
+
"Year2018_estimated_time": null
|
| 121 |
+
}
|
| 122 |
+
]
|
tests/query_results/revenue_by_month_year.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"month_no": "01",
|
| 4 |
+
"month": "Jan",
|
| 5 |
+
"Year2016": 0.0,
|
| 6 |
+
"Year2017": 37632.57,
|
| 7 |
+
"Year2018": 969967.8000000026
|
| 8 |
+
},
|
| 9 |
+
{
|
| 10 |
+
"month_no": "02",
|
| 11 |
+
"month": "Feb",
|
| 12 |
+
"Year2016": 0.0,
|
| 13 |
+
"Year2017": 222270.7499999996,
|
| 14 |
+
"Year2018": 853616.8200000001
|
| 15 |
+
},
|
| 16 |
+
{
|
| 17 |
+
"month_no": "03",
|
| 18 |
+
"month": "Mar",
|
| 19 |
+
"Year2016": 0.0,
|
| 20 |
+
"Year2017": 376833.720000001,
|
| 21 |
+
"Year2018": 1024851.949999999
|
| 22 |
+
},
|
| 23 |
+
{
|
| 24 |
+
"month_no": "04",
|
| 25 |
+
"month": "Apr",
|
| 26 |
+
"Year2016": 0.0,
|
| 27 |
+
"Year2017": 299798.4500000001,
|
| 28 |
+
"Year2018": 1274742.1799999899
|
| 29 |
+
},
|
| 30 |
+
{
|
| 31 |
+
"month_no": "05",
|
| 32 |
+
"month": "May",
|
| 33 |
+
"Year2016": 0.0,
|
| 34 |
+
"Year2017": 579280.4300000027,
|
| 35 |
+
"Year2018": 1150528.9299999974
|
| 36 |
+
},
|
| 37 |
+
{
|
| 38 |
+
"month_no": "06",
|
| 39 |
+
"month": "Jun",
|
| 40 |
+
"Year2016": 0.0,
|
| 41 |
+
"Year2017": 489463.420000003,
|
| 42 |
+
"Year2018": 1141543.8499999994
|
| 43 |
+
},
|
| 44 |
+
{
|
| 45 |
+
"month_no": "07",
|
| 46 |
+
"month": "Jul",
|
| 47 |
+
"Year2016": 0.0,
|
| 48 |
+
"Year2017": 518115.1900000033,
|
| 49 |
+
"Year2018": 925958.7900000032
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"month_no": "08",
|
| 53 |
+
"month": "Aug",
|
| 54 |
+
"Year2016": 0.0,
|
| 55 |
+
"Year2017": 609180.3400000022,
|
| 56 |
+
"Year2018": 1319737.6599999934
|
| 57 |
+
},
|
| 58 |
+
{
|
| 59 |
+
"month_no": "09",
|
| 60 |
+
"month": "Sep",
|
| 61 |
+
"Year2016": 0.0,
|
| 62 |
+
"Year2017": 652576.4800000003,
|
| 63 |
+
"Year2018": 12875.18
|
| 64 |
+
},
|
| 65 |
+
{
|
| 66 |
+
"month_no": "10",
|
| 67 |
+
"month": "Oct",
|
| 68 |
+
"Year2016": 34116.28,
|
| 69 |
+
"Year2017": 740570.3999999999,
|
| 70 |
+
"Year2018": 347.95
|
| 71 |
+
},
|
| 72 |
+
{
|
| 73 |
+
"month_no": "11",
|
| 74 |
+
"month": "Nov",
|
| 75 |
+
"Year2016": 10734.64,
|
| 76 |
+
"Year2017": 733047.3300000001,
|
| 77 |
+
"Year2018": 0.0
|
| 78 |
+
},
|
| 79 |
+
{
|
| 80 |
+
"month_no": "12",
|
| 81 |
+
"month": "Dec",
|
| 82 |
+
"Year2016": 960.85,
|
| 83 |
+
"Year2017": 1082600.6899999967,
|
| 84 |
+
"Year2018": 0.0
|
| 85 |
+
}
|
| 86 |
+
]
|
tests/query_results/revenue_per_state.json
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{ "customer_state": "SP", "Revenue": 5769081.2699999018 },
|
| 3 |
+
{ "customer_state": "RJ", "Revenue": 2055690.4499999913 },
|
| 4 |
+
{ "customer_state": "MG", "Revenue": 1819277.6100000101 },
|
| 5 |
+
{ "customer_state": "RS", "Revenue": 861608.3999999964 },
|
| 6 |
+
{ "customer_state": "PR", "Revenue": 781919.5499999981 },
|
| 7 |
+
{ "customer_state": "SC", "Revenue": 595208.4000000015 },
|
| 8 |
+
{ "customer_state": "BA", "Revenue": 591270.6000000015 },
|
| 9 |
+
{ "customer_state": "DF", "Revenue": 346146.17 },
|
| 10 |
+
{ "customer_state": "GO", "Revenue": 334294.2200000007 },
|
| 11 |
+
{ "customer_state": "ES", "Revenue": 317682.6500000007 }
|
| 12 |
+
]
|
tests/query_results/top_10_least_revenue_categories.json
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{ "Category": "security_and_services", "Num_order": 2, "Revenue": 324.51 },
|
| 3 |
+
{
|
| 4 |
+
"Category": "fashion_childrens_clothes",
|
| 5 |
+
"Num_order": 7,
|
| 6 |
+
"Revenue": 718.98
|
| 7 |
+
},
|
| 8 |
+
{ "Category": "cds_dvds_musicals", "Num_order": 12, "Revenue": 1199.43 },
|
| 9 |
+
{ "Category": "home_comfort_2", "Num_order": 24, "Revenue": 1710.54 },
|
| 10 |
+
{ "Category": "flowers", "Num_order": 29, "Revenue": 2213.01 },
|
| 11 |
+
{ "Category": "arts_and_craftmanship", "Num_order": 23, "Revenue": 2326.17 },
|
| 12 |
+
{ "Category": "la_cuisine", "Num_order": 13, "Revenue": 2913.53 },
|
| 13 |
+
{ "Category": "fashion_sport", "Num_order": 26, "Revenue": 3605.83 },
|
| 14 |
+
{ "Category": "diapers_and_hygiene", "Num_order": 25, "Revenue": 4126.17 },
|
| 15 |
+
{ "Category": "fashio_female_clothing", "Num_order": 36, "Revenue": 4902.67 }
|
| 16 |
+
]
|
tests/query_results/top_10_revenue_categories.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"Category": "bed_bath_table",
|
| 4 |
+
"Num_order": 9272,
|
| 5 |
+
"Revenue": 1692714.2800000086
|
| 6 |
+
},
|
| 7 |
+
{
|
| 8 |
+
"Category": "health_beauty",
|
| 9 |
+
"Num_order": 8646,
|
| 10 |
+
"Revenue": 1620684.0400000084
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"Category": "computers_accessories",
|
| 14 |
+
"Num_order": 6529,
|
| 15 |
+
"Revenue": 1549252.4700000042
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
"Category": "furniture_decor",
|
| 19 |
+
"Num_order": 6307,
|
| 20 |
+
"Revenue": 1394466.9300000106
|
| 21 |
+
},
|
| 22 |
+
{
|
| 23 |
+
"Category": "watches_gifts",
|
| 24 |
+
"Num_order": 5493,
|
| 25 |
+
"Revenue": 1387046.3100000028
|
| 26 |
+
},
|
| 27 |
+
{
|
| 28 |
+
"Category": "sports_leisure",
|
| 29 |
+
"Num_order": 7529,
|
| 30 |
+
"Revenue": 1349252.9299999934
|
| 31 |
+
},
|
| 32 |
+
{
|
| 33 |
+
"Category": "housewares",
|
| 34 |
+
"Num_order": 5743,
|
| 35 |
+
"Revenue": 1069787.9699999972
|
| 36 |
+
},
|
| 37 |
+
{ "Category": "auto", "Num_order": 3809, "Revenue": 833610.8400000002 },
|
| 38 |
+
{
|
| 39 |
+
"Category": "garden_tools",
|
| 40 |
+
"Num_order": 3448,
|
| 41 |
+
"Revenue": 810614.9299999997
|
| 42 |
+
},
|
| 43 |
+
{ "Category": "cool_stuff", "Num_order": 3559, "Revenue": 744649.3200000004 }
|
| 44 |
+
]
|
tests/test_extract.py
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
from src.config import DATASET_ROOT_PATH, PUBLIC_HOLIDAYS_URL, get_csv_to_table_mapping
|
| 2 |
+
from src.extract import extract, get_public_holidays
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
def test_get_public_holidays():
|
| 6 |
+
"""Test the get_public_holidays function."""
|
| 7 |
+
year = "2017"
|
| 8 |
+
public_holidays = get_public_holidays(PUBLIC_HOLIDAYS_URL, year)
|
| 9 |
+
assert public_holidays.shape == (14, 7)
|
| 10 |
+
assert public_holidays["date"].dtype == "datetime64[ns]"
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
def test_extract():
|
| 14 |
+
"""Test the extract function."""
|
| 15 |
+
csv_folder = DATASET_ROOT_PATH
|
| 16 |
+
csv_table_mapping = get_csv_to_table_mapping()
|
| 17 |
+
public_holidays_url = PUBLIC_HOLIDAYS_URL
|
| 18 |
+
dataframes = extract(csv_folder, csv_table_mapping, public_holidays_url)
|
| 19 |
+
assert len(dataframes) == len(csv_table_mapping) + 1
|
| 20 |
+
assert dataframes["public_holidays"].shape == (14, 7)
|
| 21 |
+
assert dataframes["olist_customers"].shape == (99441, 5)
|
| 22 |
+
assert dataframes["olist_geolocation"].shape == (1000163, 5)
|
| 23 |
+
assert dataframes["olist_order_items"].shape == (112650, 7)
|
| 24 |
+
assert dataframes["olist_order_payments"].shape == (103886, 5)
|
| 25 |
+
assert dataframes["olist_order_reviews"].shape == (99224, 7)
|
| 26 |
+
assert dataframes["olist_orders"].shape == (99441, 8)
|
| 27 |
+
assert dataframes["olist_products"].shape == (32951, 9)
|
| 28 |
+
assert dataframes["olist_sellers"].shape == (3095, 4)
|
| 29 |
+
assert dataframes["product_category_name_translation"].shape == (71, 2)
|
tests/test_transform.py
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import json
|
| 2 |
+
import math
|
| 3 |
+
|
| 4 |
+
import pandas as pd
|
| 5 |
+
from pytest import fixture
|
| 6 |
+
from sqlalchemy import create_engine
|
| 7 |
+
from sqlalchemy.engine.base import Engine
|
| 8 |
+
|
| 9 |
+
from src.config import (
|
| 10 |
+
DATASET_ROOT_PATH,
|
| 11 |
+
PUBLIC_HOLIDAYS_URL,
|
| 12 |
+
QUERY_RESULTS_ROOT_PATH,
|
| 13 |
+
get_csv_to_table_mapping,
|
| 14 |
+
)
|
| 15 |
+
from src.extract import extract
|
| 16 |
+
from src.load import load
|
| 17 |
+
from src.transform import (
|
| 18 |
+
QueryResult,
|
| 19 |
+
query_delivery_date_difference,
|
| 20 |
+
query_freight_value_weight_relationship,
|
| 21 |
+
query_global_amount_order_status,
|
| 22 |
+
query_orders_per_day_and_holidays_2017,
|
| 23 |
+
query_real_vs_estimated_delivered_time,
|
| 24 |
+
query_revenue_by_month_year,
|
| 25 |
+
query_revenue_per_state,
|
| 26 |
+
query_top_10_least_revenue_categories,
|
| 27 |
+
query_top_10_revenue_categories,
|
| 28 |
+
)
|
| 29 |
+
|
| 30 |
+
TOLERANCE = 0.1
|
| 31 |
+
|
| 32 |
+
|
| 33 |
+
def to_float(objs, year_col):
|
| 34 |
+
return list(map(lambda obj: float(obj[year_col]) if obj[year_col] else 0.0, objs))
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
def float_vectors_are_close(a: list, b: list, tolerance: float = TOLERANCE) -> bool:
|
| 38 |
+
"""Check if two vectors of floats are close.
|
| 39 |
+
Args:
|
| 40 |
+
a (list): The first vector.
|
| 41 |
+
b (list): The second vector.
|
| 42 |
+
tolerance (float): The tolerance.
|
| 43 |
+
Returns:
|
| 44 |
+
bool: True if the vectors are close, False otherwise.
|
| 45 |
+
"""
|
| 46 |
+
return all([math.isclose(a[i], b[i], abs_tol=tolerance) for i in range(len(a))])
|
| 47 |
+
|
| 48 |
+
|
| 49 |
+
@fixture(scope="session", autouse=True)
|
| 50 |
+
def database() -> Engine:
|
| 51 |
+
"""Initialize the database for testing."""
|
| 52 |
+
engine = create_engine("sqlite://")
|
| 53 |
+
csv_folder = DATASET_ROOT_PATH
|
| 54 |
+
public_holidays_url = PUBLIC_HOLIDAYS_URL
|
| 55 |
+
csv_table_mapping = get_csv_to_table_mapping()
|
| 56 |
+
csv_dataframes = extract(csv_folder, csv_table_mapping, public_holidays_url)
|
| 57 |
+
load(dataframes=csv_dataframes, database=engine)
|
| 58 |
+
return engine
|
| 59 |
+
|
| 60 |
+
|
| 61 |
+
def read_query_result(query_name: str) -> dict:
|
| 62 |
+
"""Read the query from the json file.
|
| 63 |
+
Args:
|
| 64 |
+
query_name (str): The name of the query.
|
| 65 |
+
Returns:
|
| 66 |
+
dict: The query as a dictionary.
|
| 67 |
+
"""
|
| 68 |
+
with open(f"{QUERY_RESULTS_ROOT_PATH}/{query_name}.json", "r") as f:
|
| 69 |
+
query_result = json.load(f)
|
| 70 |
+
|
| 71 |
+
return query_result
|
| 72 |
+
|
| 73 |
+
|
| 74 |
+
def pandas_to_json_object(df: pd.DataFrame) -> dict:
|
| 75 |
+
"""Convert pandas dataframe to json object.
|
| 76 |
+
Args:
|
| 77 |
+
df (pd.DataFrame): The dataframe.
|
| 78 |
+
Returns:
|
| 79 |
+
dict: The dataframe as a json object.
|
| 80 |
+
"""
|
| 81 |
+
return json.loads(df.to_json(orient="records"))
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
def test_query_revenue_by_month_year(database: Engine):
|
| 85 |
+
query_name = "revenue_by_month_year"
|
| 86 |
+
actual = pandas_to_json_object(query_revenue_by_month_year(database).result)
|
| 87 |
+
expected = read_query_result(query_name)
|
| 88 |
+
|
| 89 |
+
def to_float(objs, year_col):
|
| 90 |
+
return list(
|
| 91 |
+
map(lambda obj: float(obj[year_col]) if obj[year_col] else 0.0, objs)
|
| 92 |
+
)
|
| 93 |
+
|
| 94 |
+
assert len(actual) == len(expected)
|
| 95 |
+
assert [obj["month_no"] for obj in actual] == [obj["month_no"] for obj in expected]
|
| 96 |
+
assert float_vectors_are_close(
|
| 97 |
+
to_float(actual, "Year2016"), to_float(expected, "Year2016")
|
| 98 |
+
)
|
| 99 |
+
assert float_vectors_are_close(
|
| 100 |
+
to_float(actual, "Year2017"), to_float(expected, "Year2017")
|
| 101 |
+
)
|
| 102 |
+
assert float_vectors_are_close(
|
| 103 |
+
to_float(actual, "Year2018"), to_float(expected, "Year2018")
|
| 104 |
+
)
|
| 105 |
+
assert list(actual[0].keys()) == list(expected[0].keys())
|
| 106 |
+
|
| 107 |
+
|
| 108 |
+
def test_query_delivery_date_difference(database: Engine):
|
| 109 |
+
query_name = "delivery_date_difference"
|
| 110 |
+
actual: QueryResult = query_delivery_date_difference(database)
|
| 111 |
+
expected = read_query_result(query_name)
|
| 112 |
+
assert pandas_to_json_object(actual.result) == expected
|
| 113 |
+
|
| 114 |
+
|
| 115 |
+
def test_query_global_amount_order_status(database: Engine):
|
| 116 |
+
query_name = "global_amount_order_status"
|
| 117 |
+
actual: QueryResult = query_global_amount_order_status(database)
|
| 118 |
+
expected = read_query_result(query_name)
|
| 119 |
+
assert pandas_to_json_object(actual.result) == expected
|
| 120 |
+
|
| 121 |
+
|
| 122 |
+
def test_query_revenue_per_state(database: Engine):
|
| 123 |
+
query_name = "revenue_per_state"
|
| 124 |
+
actual = pandas_to_json_object(query_revenue_per_state(database).result)
|
| 125 |
+
expected = read_query_result(query_name)
|
| 126 |
+
assert len(actual) == len(expected)
|
| 127 |
+
assert list(actual[0].keys()) == list(expected[0].keys())
|
| 128 |
+
assert float_vectors_are_close(
|
| 129 |
+
[obj["Revenue"] for obj in actual], [obj["Revenue"] for obj in expected]
|
| 130 |
+
)
|
| 131 |
+
|
| 132 |
+
|
| 133 |
+
def test_query_top_10_least_revenue_categories(database: Engine):
|
| 134 |
+
query_name = "top_10_least_revenue_categories"
|
| 135 |
+
actual = pandas_to_json_object(
|
| 136 |
+
query_top_10_least_revenue_categories(database).result
|
| 137 |
+
)
|
| 138 |
+
expected = read_query_result(query_name)
|
| 139 |
+
assert len(actual) == len(expected)
|
| 140 |
+
assert list(actual[0].keys()) == list(expected[0].keys())
|
| 141 |
+
assert [obj["Category"] for obj in actual] == [obj["Category"] for obj in expected]
|
| 142 |
+
assert [obj["Num_order"] for obj in actual] == [
|
| 143 |
+
obj["Num_order"] for obj in expected
|
| 144 |
+
]
|
| 145 |
+
assert float_vectors_are_close(
|
| 146 |
+
[obj["Revenue"] for obj in actual], [obj["Revenue"] for obj in expected]
|
| 147 |
+
)
|
| 148 |
+
|
| 149 |
+
|
| 150 |
+
def test_query_top_10_revenue_categories(database: Engine):
|
| 151 |
+
query_name = "top_10_revenue_categories"
|
| 152 |
+
actual = pandas_to_json_object(query_top_10_revenue_categories(database).result)
|
| 153 |
+
expected = read_query_result(query_name)
|
| 154 |
+
assert len(actual) == len(expected)
|
| 155 |
+
assert list(actual[0].keys()) == list(expected[0].keys())
|
| 156 |
+
assert [obj["Category"] for obj in actual] == [obj["Category"] for obj in expected]
|
| 157 |
+
assert [obj["Num_order"] for obj in actual] == [
|
| 158 |
+
obj["Num_order"] for obj in expected
|
| 159 |
+
]
|
| 160 |
+
assert float_vectors_are_close(
|
| 161 |
+
[obj["Revenue"] for obj in actual], [obj["Revenue"] for obj in expected]
|
| 162 |
+
)
|
| 163 |
+
|
| 164 |
+
|
| 165 |
+
def test_real_vs_estimated_delivered_time(database: Engine):
|
| 166 |
+
query_name = "real_vs_estimated_delivered_time"
|
| 167 |
+
actual = pandas_to_json_object(
|
| 168 |
+
query_real_vs_estimated_delivered_time(database).result
|
| 169 |
+
)
|
| 170 |
+
expected = read_query_result(query_name)
|
| 171 |
+
|
| 172 |
+
def to_float(objs, year_col):
|
| 173 |
+
return list(
|
| 174 |
+
map(lambda obj: float(obj[year_col]) if obj[year_col] else 0.0, objs)
|
| 175 |
+
)
|
| 176 |
+
|
| 177 |
+
assert len(actual) == len(expected)
|
| 178 |
+
assert list(actual[0].keys()) == list(expected[0].keys())
|
| 179 |
+
assert [obj["month_no"] for obj in actual] == [obj["month_no"] for obj in expected]
|
| 180 |
+
assert float_vectors_are_close(
|
| 181 |
+
to_float(actual, "Year2016_real_time"), to_float(expected, "Year2016_real_time")
|
| 182 |
+
)
|
| 183 |
+
assert float_vectors_are_close(
|
| 184 |
+
to_float(actual, "Year2017_real_time"), to_float(expected, "Year2017_real_time")
|
| 185 |
+
)
|
| 186 |
+
assert float_vectors_are_close(
|
| 187 |
+
to_float(actual, "Year2018_real_time"), to_float(expected, "Year2018_real_time")
|
| 188 |
+
)
|
| 189 |
+
assert float_vectors_are_close(
|
| 190 |
+
to_float(actual, "Year2016_estimated_time"),
|
| 191 |
+
to_float(expected, "Year2016_estimated_time"),
|
| 192 |
+
)
|
| 193 |
+
assert float_vectors_are_close(
|
| 194 |
+
to_float(actual, "Year2017_estimated_time"),
|
| 195 |
+
to_float(expected, "Year2017_estimated_time"),
|
| 196 |
+
)
|
| 197 |
+
assert float_vectors_are_close(
|
| 198 |
+
to_float(actual, "Year2018_estimated_time"),
|
| 199 |
+
to_float(expected, "Year2018_estimated_time"),
|
| 200 |
+
)
|
| 201 |
+
|
| 202 |
+
|
| 203 |
+
def test_query_orders_per_day_and_holidays_2017(database: Engine):
|
| 204 |
+
query_name = "orders_per_day_and_holidays_2017"
|
| 205 |
+
actual: QueryResult = query_orders_per_day_and_holidays_2017(database)
|
| 206 |
+
expected = read_query_result(query_name)
|
| 207 |
+
assert pandas_to_json_object(actual.result) == expected
|
| 208 |
+
|
| 209 |
+
|
| 210 |
+
def test_query_get_freight_value_weight_relationship(database: Engine):
|
| 211 |
+
query_name = "get_freight_value_weight_relationship"
|
| 212 |
+
actual: QueryResult = query_freight_value_weight_relationship(database)
|
| 213 |
+
expected = read_query_result(query_name)
|
| 214 |
+
assert pandas_to_json_object(actual.result) == expected
|