コード例 #1
0
ファイル: translator.py プロジェクト: smsaladi/fire-1099
def load_full_schema(data):
    """
    Merges data into the master schema for records, including fields that were
    not specified in the data originally loaded (such as system-generated fields
    and optional fields).

    Parameters
    ----------
    data : dict
        JSON data to be merged into master schema

    Returns
    ----------
    dict
        Master schema with all fields provided in input parameter included

    """
    merged_data = {
        "transmitter": "",
        "payer": "",
        "payees": [],
        "end_of_payer": "",
        "end_of_transmission": ""
    }
    merged_data["transmitter"] = transmitter.xform(data["transmitter"])
    merged_data["payer"] = payer.xform(data["payer"])
    merged_data["payees"] = payees.xform(data["payees"])
    merged_data["end_of_payer"] = end_of_payer.xform({})
    merged_data["end_of_transmission"] = end_of_transmission.xform({})

    return merged_data
コード例 #2
0
def test_transmitter_fire_padding_zeros():
    temp = deepcopy(VALID_TRANSMITTER)
    temp["transmitter"]["total_number_of_payees"] = "2"
    transformed = transmitter.xform(temp["transmitter"])
    test_string = transmitter.fire(transformed)
    num_of_payees = test_string[295:303]
    assert num_of_payees == "00000002"
コード例 #3
0
def test_transmitter_fire_padding_blanks():
    temp = deepcopy(VALID_TRANSMITTER)
    temp["transmitter"]["company_mailing_address"] = "1234 ROADSTREET AVE"
    transformed = transmitter.xform(temp["transmitter"])
    test_string = transmitter.fire(transformed)
    addr = test_string[189:229]
    assert addr[0:19] == "1234 ROADSTREET AVE"
    assert addr[19:] == 21 * "\x00"
コード例 #4
0
def test_transmitter_fire_blanks_layout():
    temp = deepcopy(VALID_TRANSMITTER)
    transformed = transmitter.xform(temp["transmitter"])
    test_string = transmitter.fire(transformed)
    for (offset_1_indexed, inclusive_bound) in TRANSMITTER_BLANK_MAP:
        yield check_blanks, test_string[(offset_1_indexed - 1):inclusive_bound]
コード例 #5
0
def test_transmitter_fire_string_length():
    temp = deepcopy(VALID_TRANSMITTER)
    transformed = transmitter.xform(temp["transmitter"])
    test_string = transmitter.fire(transformed)
    assert len(test_string) == 750
コード例 #6
0
def test_transmitter_xform_adds_system_fields():
    temp = deepcopy(VALID_TRANSMITTER)
    assert "blank_2" not in temp
    transformed = transmitter.xform(temp)
    assert "blank_2" in transformed
コード例 #7
0
def test_transmitter_xform_remove_punctuation():
    temp = deepcopy(VALID_TRANSMITTER)
    temp["transmitter"]["contact_telephone_number_and_ext"] = "(555)555-5555"
    transformed = transmitter.xform(temp["transmitter"])
    assert transformed["contact_telephone_number_and_ext"] == "5555555555"
コード例 #8
0
def test_transmitter_xform_uppercase():
    temp = deepcopy(VALID_TRANSMITTER)
    temp["transmitter"]["transmitter_name"] = "nocaps mclowercase"
    transformed = transmitter.xform(temp["transmitter"])
    assert transformed["transmitter_name"] == "NOCAPS MCLOWERCASE"