aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_fact_sales_order.py
diff options
context:
space:
mode:
authorlian-manonog <160282780+lian-manonog@users.noreply.github.com>2024-08-23 15:04:07 +0100
committerGitHub <noreply@github.com>2024-08-23 15:04:07 +0100
commit5c236c6ee0d0b7e0612a51bf8eaa59322d192a6e (patch)
treef77e625f8faca75f4d325021f5d20326b381516f /tests/test_fact_sales_order.py
parent032760a745353b0584bc635bd5c51aa928677fea (diff)
parent59035d00133eed3f258f75e3a99ce57cae35989d (diff)
downloadde-project-bentley-5c236c6ee0d0b7e0612a51bf8eaa59322d192a6e.tar.gz
de-project-bentley-5c236c6ee0d0b7e0612a51bf8eaa59322d192a6e.zip
Merge pull request #94 from ajschofield/feature/transform-fact-sales-order
PR: rebased the fact-sales branch with the datafrrames branch - now merging into development
Diffstat (limited to 'tests/test_fact_sales_order.py')
-rw-r--r--tests/test_fact_sales_order.py110
1 files changed, 110 insertions, 0 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)
git.ajschof.me — hosted by ajschofield — powered by cgit