def test_classes(qbo, qec, dbconn): """ Test Extract Classes :param qbo: mock qbo sdk object :param qec: qbo extract connection :param dbconn: sqlite db connection :return: None """ qec.create_tables() classes = qec.extract_classes() qbo_data = qbo.classes.get()[0] db_data = dbconn_table_row_dict(dbconn, 'qbo_extract_classes') assert dict_compare_keys(db_data, qbo_data) == [], 'db table has some columns that xero doesnt' assert dbconn_table_num_rows(dbconn, 'qbo_extract_classes') == len(qbo.classes.get()), 'row count mismatch' assert len(classes) == 7, 'return value messed up'
def test_home_currency(qbo_ex, mock_qbo): """ Test QBO Extract home_currency :param qbo_ex: qbo_ex extract instance :param mock_qbo: mock instance :return: None """ qbo_ex.extract_home_currency() home_currency = dbconn_table_row_dict(dbconn(), 'qbo_extract_home_currency') mock_home_currency = mock_qbo.home_currency.get() assert dict_compare_keys(home_currency, mock_home_currency[0]) == [], \ 'qbo_extract.extract_home_currency has stuff that mock_qbo.home_currency.get doesnt' assert dict_compare_keys(mock_home_currency[0], home_currency) == [], \ 'mock_qbo.home_currency.get() has stuff that qbo_extract.extract_home_currency doesnt'
def test_classes(qbo_ex, mock_qbo): """ Test QBO Extract classes :param qbo_ex: qbo_ex extract instance :param mock_qbo: mock instance :return: None """ qbo_ex.extract_classes() classes = dbconn_table_row_dict(dbconn(), 'qbo_extract_classes') mock_classes = mock_qbo.classes.get() assert dict_compare_keys(classes, mock_classes[0]) == [], \ 'qbo_extract.extract_classes has stuff that mock_qbo.classes.get doesnt' assert dict_compare_keys(mock_classes[0], classes) == [], \ 'mock_qbo.classes.get() has stuff that qbo_extract.extract_classes doesnt'
def test_departments(qbo_ex, mock_qbo): """ Test QBO Extract departments :param qbo_ex: qbo_ex extract instance :param mock_qbo: mock instance :return: None """ qbo_ex.extract_departments() departments = dbconn_table_row_dict(dbconn(), 'qbo_extract_departments') mock_departments = mock_qbo.departments.get() assert dict_compare_keys(departments, mock_departments[0]) == [], \ 'qbo_extract.extract_departments has stuff that mock_qbo.departments.get doesnt' assert dict_compare_keys(mock_departments[0], departments) == [], \ 'mock_qbo.departments.get() has stuff that qbo_extract.extract_departments doesnt'
def test_expenses(fec): """ Test Extract Expenses :param fec: fyle extract connection :return: None """ dbconn = fec._FyleExtractConnector__dbconn fyle = fec._FyleExtractConnector__connection ids = fec.extract_expenses(extract_custom_fields=False) fyle_data = fyle.Expenses.get_all() db_data = dbconn_table_row_dict(dbconn, 'fyle_extract_expenses') assert dict_compare_keys( db_data, fyle_data[0]) == [], 'db table has some columns that fyle doesnt' assert dbconn_table_num_rows( dbconn, 'fyle_extract_expenses') == len(fyle_data), 'row count mismatch' assert len(ids) == 3, 'return value messed up'
def test_projects(fec): """ Test Extract Projects :param fec: fyle extract connection :return: None """ dbconn = fec._FyleExtractConnector__dbconn fyle = fec._FyleExtractConnector__connection ids = fec.extract_projects() fyle_data = fyle.Projects.get()['data'] db_data = dbconn_table_row_dict(dbconn, 'fyle_extract_projects') assert dict_compare_keys( db_data, fyle_data[0]) == [], 'db table has some columns that fyle doesnt' assert dbconn_table_num_rows( dbconn, 'fyle_extract_projects') == len(fyle_data), 'row count mismatch' assert len(ids) == 4, 'return value messed up'