aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_fact_sales_order.py110
-rw-r--r--tests/test_transform_lambda.py18
2 files changed, 124 insertions, 4 deletions
diff --git a/tests/test_fact_sales_order.py b/tests/test_fact_sales_order.py
new file mode 100644
index 0000000..48426b4
--- /dev/null
+++ b/tests/test_fact_sales_order.py
@@ -0,0 +1,110 @@
+import pandas as pd
+from fact_sales_order import create_dim_design, create_dim_staff, create_dim_currency
+from src.fact_sales_order import (
+ create_dim_design,
+ create_dim_staff,
+ create_dim_currency,
+)
+
+
+class TestCreateDimDesign:
+ def test_dim_design_returns_dataframe(self):
+ d = {
+ "test": ["Hello", "Bye"],
+ "design_id": ["Hello", "Bye"],
+ "design_name": ["Hello", "Bye"],
+ "file_name": ["Hello", "Bye"],
+ "file_location": ["Hello", "Bye"],
+ "Hello": ["Hello", "Bye"],
+ }
+ test_df = {"design": pd.DataFrame(data=d)}
+ result = create_dim_design(test_df)
+ assert isinstance(result, pd.DataFrame)
+
+ def test_dim_design_returns_correct_columns_and_values(self):
+ d = {
+ "test": ["Hello", "Bye"],
+ "design_id": ["Hello", "Bye"],
+ "design_name": ["Hello", "Bye"],
+ "file_name": ["Hello", "Bye"],
+ "file_location": ["Hello", "Bye"],
+ "Hello": ["Hello", "Bye"],
+ }
+ test_df = {"design": pd.DataFrame(data=d)}
+ result = create_dim_design(test_df)
+ d2 = {
+ "design_id": ["Hello", "Bye"],
+ "design_name": ["Hello", "Bye"],
+ "file_name": ["Hello", "Bye"],
+ "file_location": ["Hello", "Bye"],
+ }
+ expected_df = pd.DataFrame(data=d2)
+ expected_result = expected_df.copy()
+ assert result.equals(expected_result)
+
+
+class TestCreateDimStaff:
+ def test_dim_staff_returns_dataframe(self):
+ d = {
+ "staff_id": ["Hello", "Bye"],
+ "first_name": ["Hello", "Bye"],
+ "last_name": ["Hello", "Bye"],
+ "department_id": ["Hello", "Bye"],
+ }
+ d2 = {
+ "department_name": ["Hello", "Bye"],
+ "location": ["Hello", "Bye"],
+ "email_address": ["Hello", "Bye"],
+ "department_id": ["Hello", "Bye"],
+ }
+ test_df = {"staff": pd.DataFrame(data=d), "department": pd.DataFrame(data=d2)}
+ result = create_dim_staff(test_df)
+ assert isinstance(result, pd.DataFrame)
+
+ def test_dim_staff_returns_correct_columns_and_values(self):
+ d = {
+ "staff_id": ["Hello", "Bye"],
+ "first_name": ["Hello", "Bye"],
+ "last_name": ["Hello", "Bye"],
+ "department_id": ["Hello", "Bye"],
+ }
+ d2 = {
+ "department_name": ["Hello", "Bye"],
+ "location": ["Hello", "Bye"],
+ "email_address": ["Hello", "Bye"],
+ "department_id": ["Hello", "Bye"],
+ }
+ test_df = {"staff": pd.DataFrame(data=d), "department": pd.DataFrame(data=d2)}
+ result = create_dim_staff(test_df)
+ expected_d = {
+ "staff_id": ["Hello", "Bye"],
+ "first_name": ["Hello", "Bye"],
+ "last_name": ["Hello", "Bye"],
+ "department_name": ["Hello", "Bye"],
+ "location": ["Hello", "Bye"],
+ "email_address": ["Hello", "Bye"],
+ }
+ expected_df = pd.DataFrame(data=expected_d)
+ expected_result = expected_df.copy()
+ assert result.equals(expected_result)
+
+
+class TestCreateDimCurrency:
+ def test_dim_currency_returns_dataframe(self):
+ d = {"currency_id": [1, 2, 3], "currency_code": ["USD", "EUR", "GBP"]}
+ test_df = {"currency": pd.DataFrame(data=d)}
+ result = create_dim_currency(test_df)
+ assert isinstance(result, pd.DataFrame)
+
+ def test_dim_currency_returns_columns_and_values(self):
+ d = {"currency_id": [1, 2, 3], "currency_code": ["USD", "EUR", "GBP"]}
+ test_df = {"currency": pd.DataFrame(data=d)}
+ result = create_dim_currency(test_df)
+ expected_d = {
+ "currency_id": [1, 2, 3],
+ "currency_code": ["USD", "EUR", "GBP"],
+ "currency_name": ["US Dollar", "Euro", "Pound"],
+ }
+ expected_df = pd.DataFrame(data=expected_d)
+ expected_result = expected_df.copy()
+ assert result.equals(expected_result)
diff --git a/tests/test_transform_lambda.py b/tests/test_transform_lambda.py
index 4c689f7..37ca08f 100644
--- a/tests/test_transform_lambda.py
+++ b/tests/test_transform_lambda.py
@@ -40,8 +40,13 @@ class TestReadFromS3:
)
print(result)
expected_df = pd.DataFrame(
- np.array([["Vegetable", "Sour", "Green"], ["Berry", "Sweet", "Red"]]),
- columns=["Food_type", "Flavour", "Colour"],
+ np.array(
+ [
+ ["Vegetable", "Sour", "Green", "2022-11-03 14:20:49.962"],
+ ["Berry", "Sweet", "Red", "2022-11-03 14:20:49.962"],
+ ]
+ ),
+ columns=["Food_type", "Flavour", "Colour", "last_updated"],
)
assert isinstance(result, dict)
assert list(result.keys())[0] == "Foods"
@@ -58,8 +63,13 @@ class TestReadFromS3:
tables, bucket="dummy_buc", client=s3_client
)
expected_foods_df = pd.DataFrame(
- np.array([["Vegetable", "Sour", "Green"], ["Berry", "Sweet", "Red"]]),
- columns=["Food_type", "Flavour", "Colour"],
+ np.array(
+ [
+ ["Vegetable", "Sour", "Green", "2022-11-03 14:20:49.962"],
+ ["Berry", "Sweet", "Red", "2022-11-03 14:20:49.962"],
+ ]
+ ),
+ columns=["Food_type", "Flavour", "Colour", "last_updated"],
)
expected_cars_df = pd.DataFrame(
np.array(
git.ajschof.me — hosted by ajschofield — powered by cgit