1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
from src.dataframes import create_dim_design, create_dim_staff, create_dim_payment_type, create_dim_counterparty, create_dim_currency
import pandas as pd
from unittest.mock import patch
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 TestCreatePaymentType:
def test_create_dim_payment_type_returns_correct_columns_and_values(self):
d = {"payment_type_id": ["Hello", "Bye"], "payment_type_name": ["Hello", "Bye"]}
test_df = {"payment_type": pd.DataFrame(data=d)}
result = create_dim_payment_type(test_df)
expected_columns = ["payment_type_id", "payment_type_name"]
expected_d = {"payment_type_id": ["Hello", "Bye"], "payment_type_name": ["Hello", "Bye"]}
expected_df = pd.DataFrame(data=expected_d)
assert isinstance(result, pd.DataFrame)
assert list(result.columns) == expected_columns
assert result.equals(expected_df)
class TestCreateDimCounterparty:
def test_create_dim_counterparty_type_returns_correct_columns_and_values(self):
data_d = {"counterparty_id": ["Hello", "Bye"],
"counterparty_legal_name": ["Hello", "Bye"],
"counterparty_legal_address_line_1": ["Hello", "Bye"],
}
data_a = {"address_id":
"address",
}
test_df = {"address": pd.DataFrame(data=data_a)}
test_df = {}
result = create_dim_counterparty(test_df)
expected_columns = ["counterparty_id",
"counterparty_legal_name",
"counterparty_legal_address_line_1",
"counterparty_legal_address_line_2",
"counterparty_legal_district",
"counterparty_legal_city",
"counterparty_legal_postal_code",
"counterparty_legal_postal_code",
"counterparty_legal_phone_number"]
expected_d = {"counterparty_id": ["Hello", "Bye"],
"counterparty_legal_name": ["Hello", "Bye"],
"counterparty_legal_address_line_1": ["Hello", "Bye"],
"counterparty_legal_address_line_2": ["Hello", "Bye"],
"counterparty_legal_district": ["Hello", "Bye"],
"counterparty_legal_city": ["Hello", "Bye"],
"counterparty_legal_postal_code": ["Hello", "Bye"],
"counterparty_legal_postal_code": ["Hello", "Bye"],
"counterparty_legal_phone_number": ["Hello", "Bye"]}
expected_df = pd.DataFrame(data=expected_d)
assert isinstance(result, pd.DataFrame)
assert list(result.columns) == expected_columns
assert result.equals(expected_df)
# # figuring out how to mock currency scraper functiom
# class TestCreateDimCurrency:
# @patch("src.dataframes.scrape_currency_names")
# 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)
# 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)
|