示例#1
0
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'
示例#2
0
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'
示例#3
0
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'
示例#4
0
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'
示例#5
0
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'
示例#6
0
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'