diff --git a/tests/data/imports.yml b/tests/data/imports.yml index 0f02c8f..b6d81b7 100644 --- a/tests/data/imports.yml +++ b/tests/data/imports.yml @@ -2,13 +2,14 @@ importer: patreon.Income2017Importer expect: - payee: Alex Jones - date: !!python/object/apply:datetime.date [2017, 9, 1] - amount: !!python/object/apply:decimal.Decimal ["1500.00"] + # PyYAML 6 appears to require UnsafeLoader to handle complex Python tags. + date: !date "2017-09-01" + amount: !decimal "1500.00" currency: USD email: alex@example.org - payee: Dakota Doe - date: !!python/object/apply:datetime.date [2017, 9, 1] - amount: !!python/object/apply:decimal.Decimal ["12.00"] + date: !date "2017-09-01" + amount: !decimal "12.00" currency: USD email: ddoe@example.org @@ -19,15 +20,15 @@ email: ajones@example.com tier: Even tier patreon_id: "1234567" - date: !!python/object/apply:datetime.date [2020, 8, 1] - amount: !!python/object/apply:decimal.Decimal ["2"] + date: !date "2020-08-01" + amount: !decimal "2" currency: USD - payee: Breonna email: breonna@example.org tier: Odd tier patreon_id: "234567" - date: !!python/object/apply:datetime.date [2020, 8, 2] - amount: !!python/object/apply:decimal.Decimal ["5.00"] + date: !date "2020-08-02" + amount: !decimal "5.00" currency: USD - source: PatreonPatronReport_2020-10-01.csv @@ -37,15 +38,15 @@ email: ajones@example.com tier: Even tier patreon_id: "1234567" - date: !!python/object/apply:datetime.date [2020, 8, 1] - amount: !!python/object/apply:decimal.Decimal ["2"] + date: !date "2020-08-01" + amount: !decimal "2" currency: USD - payee: Breonna email: breonna@example.org tier: Odd tier patreon_id: "234567" - date: !!python/object/apply:datetime.date [2020, 8, 2] - amount: !!python/object/apply:decimal.Decimal ["5.00"] + date: !date "2020-08-02" + amount: !decimal "5.00" currency: USD - source: PatreonPatronReport_2020-11-01.csv @@ -55,27 +56,27 @@ email: ajones@example.com tier: Even tier patreon_id: "1234567" - date: !!python/object/apply:datetime.date [2020, 8, 1] - amount: !!python/object/apply:decimal.Decimal ["2"] + date: !date "2020-08-01" + amount: !decimal "2" currency: USD - payee: Breonna email: breonna@example.org tier: Odd tier patreon_id: "234567" - date: !!python/object/apply:datetime.date [2020, 8, 2] - amount: !!python/object/apply:decimal.Decimal ["5.00"] + date: !date "2020-08-02" + amount: !decimal "5.00" currency: USD - source: PatreonEarnings.csv importer: patreon.ServiceFeesImporter expect: - payee: Patreon - date: !!python/object/apply:datetime.date [2017, 9, 1] - amount: !!python/object/apply:decimal.Decimal ["61.73"] + date: !date "2017-09-01" + amount: !decimal "61.73" currency: USD - payee: Patreon - date: !!python/object/apply:datetime.date [2017, 10, 1] - amount: !!python/object/apply:decimal.Decimal ["117.03"] + date: !date "2017-10-01" + amount: !decimal "117.03" currency: USD - source: PatreonEarnings2020.csv @@ -85,75 +86,75 @@ email: fjones@example.com user_id: "32101234" event_id: "30123456" - date: !!python/object/apply:datetime.date [2020, 12, 3] + date: !date "2020-12-03" currency: USD - amount: !!python/object/apply:decimal.Decimal ["5"] - tax_amount: !!python/object/apply:decimal.Decimal ["1"] - net_amount: !!python/object/apply:decimal.Decimal ["4.31"] - platform_fee: !!python/object/apply:decimal.Decimal ["0.25"] - processing_fee: !!python/object/apply:decimal.Decimal ["0.44"] - currency_fee: !!python/object/apply:decimal.Decimal ["0"] + amount: !decimal "5" + tax_amount: !decimal "1" + net_amount: !decimal "4.31" + platform_fee: !decimal "0.25" + processing_fee: !decimal "0.44" + currency_fee: !decimal "0" - payee: Barbara Johnson email: bjohnson@example.com user_id: "2345678" event_id: "34567890" - date: !!python/object/apply:datetime.date [2020, 12, 2] + date: !date "2020-12-02" currency: USD - amount: !!python/object/apply:decimal.Decimal ["6.06"] - tax_amount: !!python/object/apply:decimal.Decimal ["1.27"] - net_amount: !!python/object/apply:decimal.Decimal ["5.14"] - platform_fee: !!python/object/apply:decimal.Decimal ["0.31"] - processing_fee: !!python/object/apply:decimal.Decimal ["0.42"] - currency_fee: !!python/object/apply:decimal.Decimal ["0.19"] + amount: !decimal "6.06" + tax_amount: !decimal "1.27" + net_amount: !decimal "5.14" + platform_fee: !decimal "0.31" + processing_fee: !decimal "0.42" + currency_fee: !decimal "0.19" - payee: Alex Jones email: ajones@example.com user_id: "7654321" event_id: "456789090" - date: !!python/object/apply:datetime.date [2020, 12, 1] + date: !date "2020-12-01" currency: USD - amount: !!python/object/apply:decimal.Decimal ["14"] - tax_amount: !!python/object/apply:decimal.Decimal ["0"] - net_amount: !!python/object/apply:decimal.Decimal ["12.64"] - platform_fee: !!python/object/apply:decimal.Decimal [".7"] - processing_fee: !!python/object/apply:decimal.Decimal [".66"] - currency_fee: !!python/object/apply:decimal.Decimal ["0"] + amount: !decimal "14" + tax_amount: !decimal "0" + net_amount: !decimal "12.64" + platform_fee: !decimal ".7" + processing_fee: !decimal ".66" + currency_fee: !decimal "0" - source: PatreonEarnings.csv importer: patreon.CardFeesImporter expect: - payee: Patreon - date: !!python/object/apply:datetime.date [2017, 9, 1] - amount: !!python/object/apply:decimal.Decimal ["52.47"] + date: !date "2017-09-01" + amount: !decimal "52.47" currency: USD - payee: Patreon - date: !!python/object/apply:datetime.date [2017, 10, 1] - amount: !!python/object/apply:decimal.Decimal ["99.47"] + date: !date "2017-10-01" + amount: !decimal "99.47" currency: USD - source: PatreonVat.csv importer: patreon.VATImporter expect: - payee: Patreon - date: !!python/object/apply:datetime.date [2017, 9, 1] - amount: !!python/object/apply:decimal.Decimal ["2.00"] + date: !date "2017-09-01" + amount: !decimal "2.00" currency: USD country_code: AT country_name: Austria - payee: Patreon - date: !!python/object/apply:datetime.date [2017, 9, 1] - amount: !!python/object/apply:decimal.Decimal ["3.30"] + date: !date "2017-09-01" + amount: !decimal "3.30" currency: USD country_code: BE country_name: Belgium - payee: Patreon - date: !!python/object/apply:datetime.date [2017, 10, 1] - amount: !!python/object/apply:decimal.Decimal ["0.40"] + date: !date "2017-10-01" + amount: !decimal "0.40" currency: USD country_code: BG country_name: Bulgaria - payee: Patreon - date: !!python/object/apply:datetime.date [2017, 10, 1] - amount: !!python/object/apply:decimal.Decimal ["6.05"] + date: !date "2017-10-01" + amount: !decimal "6.05" currency: USD country_code: CZ country_name: Czech Republic @@ -162,26 +163,26 @@ importer: patreon.PayoutImporter expect: - payee: Patreon - date: !!python/object/apply:datetime.date [2018, 4, 1] - amount: !!python/object/apply:decimal.Decimal ["123.45"] - pledges_amount: !!python/object/apply:decimal.Decimal ["0"] - transfer_amount: !!python/object/apply:decimal.Decimal ["123.45"] + date: !date "2018-04-01" + amount: !decimal "123.45" + pledges_amount: !decimal "0" + transfer_amount: !decimal "123.45" currency: USD - payee: Patreon - date: !!python/object/apply:datetime.date [2018, 5, 1] - amount: !!python/object/apply:decimal.Decimal ["2345.67"] - pledges_amount: !!python/object/apply:decimal.Decimal ["0"] - transfer_amount: !!python/object/apply:decimal.Decimal ["2345.67"] + date: !date "2018-05-01" + amount: !decimal "2345.67" + pledges_amount: !decimal "0" + transfer_amount: !decimal "2345.67" currency: USD - source: StripePayments.csv importer: stripe.PaymentImporter expect: - payee: Dakota Smith - date: !!python/object/apply:datetime.date [2017, 11, 8] - amount: !!python/object/apply:decimal.Decimal ["100.00"] - fee: !!python/object/apply:decimal.Decimal ["3"] - tax: !!python/object/apply:decimal.Decimal ["0"] + date: !date "2017-11-08" + amount: !decimal "100.00" + fee: !decimal "3" + tax: !decimal "0" currency: USD payment_id: ch_oxuish6phae2Raighooghi3U customer_id: cus_DohSheeQu8eng3 @@ -189,10 +190,10 @@ payout_id: po_aeYees2ahtier8ohju7Eeyie description: "Payment for invoice #102" - payee: Dakota Jones - date: !!python/object/apply:datetime.date [2017, 10, 28] - amount: !!python/object/apply:decimal.Decimal ["50.00"] - fee: !!python/object/apply:decimal.Decimal ["1.4"] - tax: !!python/object/apply:decimal.Decimal ["0"] + date: !date "2017-10-28" + amount: !decimal "50.00" + fee: !decimal "1.4" + tax: !decimal "0" currency: USD payment_id: ch_hHee9ef1aeyee1ruo7ochee9 customer_id: cus_iepae2Iecae8Ei @@ -204,65 +205,65 @@ importer: stripe.PayoutImporter expect: - payee: Stripe - date: !!python/object/apply:datetime.date [2017, 11, 30] - amount: !!python/object/apply:decimal.Decimal ["-50"] + date: !date "2017-11-30" + amount: !decimal "-50" currency: USD - payment_count: !!python/object/apply:decimal.Decimal ["0"] - payment_gross: !!python/object/apply:decimal.Decimal ["0"] - payment_fees: !!python/object/apply:decimal.Decimal ["0"] - payment_net: !!python/object/apply:decimal.Decimal ["0"] - refund_count: !!python/object/apply:decimal.Decimal ["1"] - refund_gross: !!python/object/apply:decimal.Decimal ["-50"] - refund_fees: !!python/object/apply:decimal.Decimal ["0"] - refund_net: !!python/object/apply:decimal.Decimal ["-50"] - collected_fee_count: !!python/object/apply:decimal.Decimal ["0"] - collected_fee_gross: !!python/object/apply:decimal.Decimal ["0"] - collected_fee_refund_count: !!python/object/apply:decimal.Decimal ["0"] - collected_fee_refund_gross: !!python/object/apply:decimal.Decimal ["0"] - adjustment_count: !!python/object/apply:decimal.Decimal ["0"] - adjustment_gross: !!python/object/apply:decimal.Decimal ["0"] - adjustment_fees: !!python/object/apply:decimal.Decimal ["0"] - adjustment_net: !!python/object/apply:decimal.Decimal ["0"] - validation_count: !!python/object/apply:decimal.Decimal ["0"] - validation_fees: !!python/object/apply:decimal.Decimal ["0"] - retried_payout_count: !!python/object/apply:decimal.Decimal ["0"] - retried_payout_net: !!python/object/apply:decimal.Decimal ["0"] - total_count: !!python/object/apply:decimal.Decimal ["1"] - total_gross: !!python/object/apply:decimal.Decimal ["-50"] - total_fees: !!python/object/apply:decimal.Decimal ["0"] - total_net: !!python/object/apply:decimal.Decimal ["-50"] + payment_count: !decimal "0" + payment_gross: !decimal "0" + payment_fees: !decimal "0" + payment_net: !decimal "0" + refund_count: !decimal "1" + refund_gross: !decimal "-50" + refund_fees: !decimal "0" + refund_net: !decimal "-50" + collected_fee_count: !decimal "0" + collected_fee_gross: !decimal "0" + collected_fee_refund_count: !decimal "0" + collected_fee_refund_gross: !decimal "0" + adjustment_count: !decimal "0" + adjustment_gross: !decimal "0" + adjustment_fees: !decimal "0" + adjustment_net: !decimal "0" + validation_count: !decimal "0" + validation_fees: !decimal "0" + retried_payout_count: !decimal "0" + retried_payout_net: !decimal "0" + total_count: !decimal "1" + total_gross: !decimal "-50" + total_fees: !decimal "0" + total_net: !decimal "-50" payout_id: po_faegh6aeghishuethuoSoT2i destination_id: ba_chu0Woop5queewi2Ea1Aibah balance_txid: txn_EiKahrazei3aeMohk7EeDigh failure_txid: "" - payee: Stripe - date: !!python/object/apply:datetime.date [2017, 11, 29] - amount: !!python/object/apply:decimal.Decimal ["146.50"] + date: !date "2017-11-29" + amount: !decimal "146.50" currency: USD - payment_count: !!python/object/apply:decimal.Decimal ["2"] - payment_gross: !!python/object/apply:decimal.Decimal ["150"] - payment_fees: !!python/object/apply:decimal.Decimal ["3.5"] - payment_net: !!python/object/apply:decimal.Decimal ["146.5"] - refund_count: !!python/object/apply:decimal.Decimal ["0"] - refund_gross: !!python/object/apply:decimal.Decimal ["0"] - refund_fees: !!python/object/apply:decimal.Decimal ["0"] - refund_net: !!python/object/apply:decimal.Decimal ["0"] - collected_fee_count: !!python/object/apply:decimal.Decimal ["0"] - collected_fee_gross: !!python/object/apply:decimal.Decimal ["0"] - collected_fee_refund_count: !!python/object/apply:decimal.Decimal ["0"] - collected_fee_refund_gross: !!python/object/apply:decimal.Decimal ["0"] - adjustment_count: !!python/object/apply:decimal.Decimal ["0"] - adjustment_gross: !!python/object/apply:decimal.Decimal ["0"] - adjustment_fees: !!python/object/apply:decimal.Decimal ["0"] - adjustment_net: !!python/object/apply:decimal.Decimal ["0"] - validation_count: !!python/object/apply:decimal.Decimal ["0"] - validation_fees: !!python/object/apply:decimal.Decimal ["0"] - retried_payout_count: !!python/object/apply:decimal.Decimal ["0"] - retried_payout_net: !!python/object/apply:decimal.Decimal ["0"] - total_count: !!python/object/apply:decimal.Decimal ["2"] - total_gross: !!python/object/apply:decimal.Decimal ["150"] - total_fees: !!python/object/apply:decimal.Decimal ["3.5"] - total_net: !!python/object/apply:decimal.Decimal ["146.5"] + payment_count: !decimal "2" + payment_gross: !decimal "150" + payment_fees: !decimal "3.5" + payment_net: !decimal "146.5" + refund_count: !decimal "0" + refund_gross: !decimal "0" + refund_fees: !decimal "0" + refund_net: !decimal "0" + collected_fee_count: !decimal "0" + collected_fee_gross: !decimal "0" + collected_fee_refund_count: !decimal "0" + collected_fee_refund_gross: !decimal "0" + adjustment_count: !decimal "0" + adjustment_gross: !decimal "0" + adjustment_fees: !decimal "0" + adjustment_net: !decimal "0" + validation_count: !decimal "0" + validation_fees: !decimal "0" + retried_payout_count: !decimal "0" + retried_payout_net: !decimal "0" + total_count: !decimal "2" + total_gross: !decimal "150" + total_fees: !decimal "3.5" + total_net: !decimal "146.5" payout_id: po_Do9pathoo9Pu8jaePhahJa0e destination_id: ba_chu0Woop5queewi2Ea1Aibah balance_txid: txn_ahsaixiene6Thie1aiti3tuo @@ -273,32 +274,32 @@ expect: - payee: Python Person A ledger template: nbpy2017 invoice ledger entry - date: !!python/object/apply:datetime.date [2017, 10, 19] - amount: !!python/object/apply:decimal.Decimal ["80.00"] - tickets_sold: !!python/object/apply:decimal.Decimal ["1"] - ticket_price: !!python/object/apply:decimal.Decimal ["80.00"] + date: !date "2017-10-19" + amount: !decimal "80.00" + tickets_sold: !decimal "1" + ticket_price: !decimal "80.00" ticket_rate: Early Bird (Ticket - Individual Supporter) - shirts_sold: !!python/object/apply:decimal.Decimal ["1"] - shirt_price: !!python/object/apply:decimal.Decimal ["0"] + shirts_sold: !decimal "1" + shirt_price: !decimal "0" shirt_rate: "Complimentary for ticket holder (Supporter-level and above) (T-Shirt - Men's/Straight Cut Size L)" currency: USD status: Invoice invoice_id: "83" - invoice_date: !!python/object/apply:datetime.date [2017, 10, 19] + invoice_date: !date "2017-10-19" - payee: Python Person A ledger template: nbpy2017 payment ledger entry - date: !!python/object/apply:datetime.date [2017, 10, 19] - amount: !!python/object/apply:decimal.Decimal ["80.00"] - tickets_sold: !!python/object/apply:decimal.Decimal ["1"] - ticket_price: !!python/object/apply:decimal.Decimal ["80.00"] + date: !date "2017-10-19" + amount: !decimal "80.00" + tickets_sold: !decimal "1" + ticket_price: !decimal "80.00" ticket_rate: Early Bird (Ticket - Individual Supporter) - shirts_sold: !!python/object/apply:decimal.Decimal ["1"] - shirt_price: !!python/object/apply:decimal.Decimal ["0"] + shirts_sold: !decimal "1" + shirt_price: !decimal "0" shirt_rate: "Complimentary for ticket holder (Supporter-level and above) (T-Shirt - Men's/Straight Cut Size L)" currency: USD status: Payment invoice_id: "83" - invoice_date: !!python/object/apply:datetime.date [2017, 10, 19] + invoice_date: !date "2017-10-19" payment_id: ch_ahr0ue8lai1ohqu4Gei4Biem stripe_id: ch_ahr0ue8lai1ohqu4Gei4Biem @@ -307,31 +308,31 @@ expect: - payee: Python Person B ledger template: nbpy2017 invoice ledger entry - date: !!python/object/apply:datetime.date [2017, 12, 3] - amount: !!python/object/apply:decimal.Decimal ["50.00"] - tickets_sold: !!python/object/apply:decimal.Decimal ["1"] - ticket_price: !!python/object/apply:decimal.Decimal ["50.00"] + date: !date "2017-12-03" + amount: !decimal "50.00" + tickets_sold: !decimal "1" + ticket_price: !decimal "50.00" ticket_rate: Ticket - Unaffiliated Individual - shirts_sold: !!python/object/apply:decimal.Decimal ["0"] - shirt_price: !!python/object/apply:decimal.Decimal ["0"] + shirts_sold: !decimal "0" + shirt_price: !decimal "0" shirt_rate: "" status: Invoice currency: USD - invoice_date: !!python/object/apply:datetime.date [2017, 12, 3] + invoice_date: !date "2017-12-03" invoice_id: "304" - payee: Python Person B ledger template: nbpy2017 payment ledger entry - date: !!python/object/apply:datetime.date [2017, 12, 3] - amount: !!python/object/apply:decimal.Decimal ["50.00"] - tickets_sold: !!python/object/apply:decimal.Decimal ["1"] - ticket_price: !!python/object/apply:decimal.Decimal ["50.00"] + date: !date "2017-12-03" + amount: !decimal "50.00" + tickets_sold: !decimal "1" + ticket_price: !decimal "50.00" ticket_rate: Ticket - Unaffiliated Individual - shirts_sold: !!python/object/apply:decimal.Decimal ["0"] - shirt_price: !!python/object/apply:decimal.Decimal ["0"] + shirts_sold: !decimal "0" + shirt_price: !decimal "0" shirt_rate: "" status: Payment currency: USD - invoice_date: !!python/object/apply:datetime.date [2017, 12, 3] + invoice_date: !date "2017-12-03" payment_id: ch_eishei9aiY8aiqu4lieYiu9i stripe_id: ch_eishei9aiY8aiqu4lieYiu9i invoice_id: "304" @@ -341,31 +342,31 @@ expect: - payee: Python Person C ledger template: nbpy2017 invoice ledger entry - date: !!python/object/apply:datetime.date [2017, 9, 5] - amount: !!python/object/apply:decimal.Decimal ["60.00"] - tickets_sold: !!python/object/apply:decimal.Decimal ["0"] - ticket_price: !!python/object/apply:decimal.Decimal ["0"] + date: !date "2017-09-05" + amount: !decimal "60.00" + tickets_sold: !decimal "0" + ticket_price: !decimal "0" ticket_rate: Ticket - Talk Proposer - shirts_sold: !!python/object/apply:decimal.Decimal ["2"] - shirt_price: !!python/object/apply:decimal.Decimal ["30.00"] + shirts_sold: !decimal "2" + shirt_price: !decimal "30.00" shirt_rate: "T-Shirt - Men's/Straight Cut Size M" status: Invoice currency: USD - invoice_date: !!python/object/apply:datetime.date [2017, 9, 5] + invoice_date: !date "2017-09-05" invoice_id: "11" - payee: Python Person C ledger template: nbpy2017 payment ledger entry - date: !!python/object/apply:datetime.date [2017, 9, 5] - amount: !!python/object/apply:decimal.Decimal ["60.00"] - tickets_sold: !!python/object/apply:decimal.Decimal ["0"] - ticket_price: !!python/object/apply:decimal.Decimal ["0"] + date: !date "2017-09-05" + amount: !decimal "60.00" + tickets_sold: !decimal "0" + ticket_price: !decimal "0" ticket_rate: Ticket - Talk Proposer - shirts_sold: !!python/object/apply:decimal.Decimal ["2"] - shirt_price: !!python/object/apply:decimal.Decimal ["30.00"] + shirts_sold: !decimal "2" + shirt_price: !decimal "30.00" shirt_rate: "T-Shirt - Men's/Straight Cut Size M" status: Payment currency: USD - invoice_date: !!python/object/apply:datetime.date [2017, 9, 5] + invoice_date: !date "2017-09-05" payment_id: ch_daer0ahwoh9oDeiqu2eimoD7 stripe_id: ch_daer0ahwoh9oDeiqu2eimoD7 invoice_id: "11" @@ -376,12 +377,12 @@ header_cols: 12 expect: - payee: Amazon - date: !!python/object/apply:datetime.date [2016, 12, 20] - amount: !!python/object/apply:decimal.Decimal ["4.24"] + date: !date "2016-12-20" + amount: !decimal "4.24" currency: USD - payee: Amazon - date: !!python/object/apply:datetime.date [2017, 1, 7] - amount: !!python/object/apply:decimal.Decimal ["-.08"] + date: !date "2017-01-07" + amount: !decimal "-.08" currency: USD - source: Benevity2018.csv @@ -389,17 +390,17 @@ header_rows: 11 header_cols: 17 expect: - - date: !!python/object/apply:datetime.date [2017, 10, 28] + - date: !date "2017-10-28" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal [20] - donation_amount: !!python/object/apply:decimal.Decimal [20] - match_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [0] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 20 + net_amount: !decimal 20 + donation_amount: !decimal 20 + match_amount: !decimal 0 + match_amount: !decimal 0 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Dakota Smith corporation: Company A @@ -408,16 +409,16 @@ frequency: One-time transaction_id: 67890QWERT ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 30] + - date: !date "2017-10-30" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [25] - net_amount: !!python/object/apply:decimal.Decimal [25] - donation_amount: !!python/object/apply:decimal.Decimal [25] - match_amount: !!python/object/apply:decimal.Decimal [0] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 25 + net_amount: !decimal 25 + donation_amount: !decimal 25 + match_amount: !decimal 0 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Dakota Smith corporation: Company A @@ -426,16 +427,16 @@ frequency: One-time transaction_id: 67890WERTY ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 19] + - date: !date "2017-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [10] - net_amount: !!python/object/apply:decimal.Decimal [10] - donation_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [10] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 10 + net_amount: !decimal 10 + donation_amount: !decimal 0 + match_amount: !decimal 10 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Anonymous corporation: Company B @@ -444,16 +445,16 @@ frequency: Unknown transaction_id: 67890ERTYU ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 19] + - date: !date "2017-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal [20] - donation_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [20] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 20 + net_amount: !decimal 20 + donation_amount: !decimal 0 + match_amount: !decimal 20 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Anonymous corporation: Company B @@ -462,17 +463,17 @@ frequency: Unknown transaction_id: 67890RTYUI ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 19] + - date: !date "2017-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [30] - net_amount: !!python/object/apply:decimal.Decimal [30] - donation_amount: !!python/object/apply:decimal.Decimal [30] - match_amount: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 30 + net_amount: !decimal 30 + donation_amount: !decimal 30 + match_amount: !decimal 0 payee: Anonymous - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null corporation: Company B project: "" @@ -486,16 +487,16 @@ header_rows: 11 header_cols: 21 expect: - - date: !!python/object/apply:datetime.date [2017, 10, 28] + - date: !date "2017-10-28" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal [20] - donation_amount: !!python/object/apply:decimal.Decimal [20] - match_amount: !!python/object/apply:decimal.Decimal [0] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 20 + net_amount: !decimal 20 + donation_amount: !decimal 20 + match_amount: !decimal 0 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Dakota Smith corporation: Company A @@ -504,16 +505,16 @@ frequency: One-time transaction_id: 67890QWERT ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 30] + - date: !date "2017-10-30" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [25] - net_amount: !!python/object/apply:decimal.Decimal [25] - donation_amount: !!python/object/apply:decimal.Decimal [25] - match_amount: !!python/object/apply:decimal.Decimal [0] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 25 + net_amount: !decimal 25 + donation_amount: !decimal 25 + match_amount: !decimal 0 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Dakota Smith corporation: Company A @@ -522,16 +523,16 @@ frequency: One-time transaction_id: 67890WERTY ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 19] + - date: !date "2017-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [10] - net_amount: !!python/object/apply:decimal.Decimal [10] - donation_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [10] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 10 + net_amount: !decimal 10 + donation_amount: !decimal 0 + match_amount: !decimal 10 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Anonymous corporation: Company B @@ -540,16 +541,16 @@ frequency: Unknown transaction_id: 67890ERTYU ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 19] + - date: !date "2017-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal [20] - donation_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [20] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 20 + net_amount: !decimal 20 + donation_amount: !decimal 0 + match_amount: !decimal 20 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Anonymous corporation: Company B @@ -558,16 +559,16 @@ frequency: Unknown transaction_id: 67890RTYUI ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 19] + - date: !date "2017-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [30] - net_amount: !!python/object/apply:decimal.Decimal [30] - donation_amount: !!python/object/apply:decimal.Decimal [30] - match_amount: !!python/object/apply:decimal.Decimal [0] - donation_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 30 + net_amount: !decimal 30 + donation_amount: !decimal 30 + match_amount: !decimal 0 + donation_fee: !decimal 0 + match_fee: !decimal 0 + merchant_fee: !decimal 0 fee_comment: null payee: Anonymous corporation: Company B @@ -576,16 +577,16 @@ frequency: Recurring transaction_id: 67890TYUIO ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 18] + - date: !date "2017-10-18" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal ["19.55"] - donation_amount: !!python/object/apply:decimal.Decimal [10] - match_amount: !!python/object/apply:decimal.Decimal [10] - donation_fee: !!python/object/apply:decimal.Decimal [".1"] - match_fee: !!python/object/apply:decimal.Decimal [".2"] - merchant_fee: !!python/object/apply:decimal.Decimal [".15"] + amount: !decimal 20 + net_amount: !decimal "19.55" + donation_amount: !decimal 10 + match_amount: !decimal 10 + donation_fee: !decimal ".1" + match_fee: !decimal ".2" + merchant_fee: !decimal ".15" fee_comment: null payee: Anonymous corporation: Company C @@ -594,16 +595,16 @@ frequency: Unknown transaction_id: 67890YUIOP ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2017, 10, 21] + - date: !date "2017-10-21" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal ["19.55"] - donation_amount: !!python/object/apply:decimal.Decimal [10] - match_amount: !!python/object/apply:decimal.Decimal [10] - donation_fee: !!python/object/apply:decimal.Decimal [".1"] - match_fee: !!python/object/apply:decimal.Decimal [".2"] - merchant_fee: !!python/object/apply:decimal.Decimal [".15"] + amount: !decimal 20 + net_amount: !decimal "19.55" + donation_amount: !decimal 10 + match_amount: !decimal 10 + donation_fee: !decimal ".1" + match_fee: !decimal ".2" + merchant_fee: !decimal ".15" fee_comment: null payee: Anonymous corporation: Company C @@ -618,16 +619,16 @@ header_rows: 11 header_cols: 23 expect: - - date: !!python/object/apply:datetime.date [2019, 10, 28] + - date: !date "2019-10-28" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal [20] - donation_amount: !!python/object/apply:decimal.Decimal [20] - match_amount: !!python/object/apply:decimal.Decimal [0] - donation_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 20 + net_amount: !decimal 20 + donation_amount: !decimal 20 + match_amount: !decimal 0 + donation_fee: !decimal 0 + merchant_fee: !decimal 0 + match_fee: !decimal 0 fee_comment: "" payee: Dakota Smith corporation: Company A @@ -636,16 +637,16 @@ frequency: One-time transaction_id: 67890QWERT ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2019, 10, 30] + - date: !date "2019-10-30" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [25] - net_amount: !!python/object/apply:decimal.Decimal [25] - donation_amount: !!python/object/apply:decimal.Decimal [25] - match_amount: !!python/object/apply:decimal.Decimal [0] - donation_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 25 + net_amount: !decimal 25 + donation_amount: !decimal 25 + match_amount: !decimal 0 + donation_fee: !decimal 0 + merchant_fee: !decimal 0 + match_fee: !decimal 0 fee_comment: "" payee: Dakota Smith corporation: Company A @@ -654,16 +655,16 @@ frequency: One-time transaction_id: 67890WERTY ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2019, 10, 19] + - date: !date "2019-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [10] - net_amount: !!python/object/apply:decimal.Decimal [10] - donation_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [10] - donation_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 10 + net_amount: !decimal 10 + donation_amount: !decimal 0 + match_amount: !decimal 10 + donation_fee: !decimal 0 + merchant_fee: !decimal 0 + match_fee: !decimal 0 fee_comment: "" payee: Anonymous corporation: Company B @@ -672,16 +673,16 @@ frequency: Unknown transaction_id: 67890ERTYU ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2019, 10, 19] + - date: !date "2019-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal [20] - donation_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [20] - donation_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 20 + net_amount: !decimal 20 + donation_amount: !decimal 0 + match_amount: !decimal 20 + donation_fee: !decimal 0 + merchant_fee: !decimal 0 + match_fee: !decimal 0 fee_comment: "" payee: Anonymous corporation: Company B @@ -690,16 +691,16 @@ frequency: Unknown transaction_id: 67890RTYUI ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2019, 10, 19] + - date: !date "2019-10-19" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [30] - net_amount: !!python/object/apply:decimal.Decimal [30] - donation_amount: !!python/object/apply:decimal.Decimal [30] - match_amount: !!python/object/apply:decimal.Decimal [0] - donation_fee: !!python/object/apply:decimal.Decimal [0] - merchant_fee: !!python/object/apply:decimal.Decimal [0] - match_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 30 + net_amount: !decimal 30 + donation_amount: !decimal 30 + match_amount: !decimal 0 + donation_fee: !decimal 0 + merchant_fee: !decimal 0 + match_fee: !decimal 0 fee_comment: "" payee: Anonymous corporation: Company B @@ -708,16 +709,16 @@ frequency: Recurring transaction_id: 67890TYUIO ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2019, 10, 18] + - date: !date "2019-10-18" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal ["19.55"] - donation_amount: !!python/object/apply:decimal.Decimal [10] - match_amount: !!python/object/apply:decimal.Decimal [10] - donation_fee: !!python/object/apply:decimal.Decimal [".3"] - merchant_fee: !!python/object/apply:decimal.Decimal [".15"] - match_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 20 + net_amount: !decimal "19.55" + donation_amount: !decimal 10 + match_amount: !decimal 10 + donation_fee: !decimal ".3" + merchant_fee: !decimal ".15" + match_fee: !decimal 0 fee_comment: "" payee: Anonymous corporation: Company C @@ -726,16 +727,16 @@ frequency: Unknown transaction_id: 67890YUIOP ledger template: benevity donations ledger entry - - date: !!python/object/apply:datetime.date [2019, 10, 21] + - date: !date "2019-10-21" currency: USD disbursement_id: ABCDE12345 - amount: !!python/object/apply:decimal.Decimal [20] - net_amount: !!python/object/apply:decimal.Decimal ["19.55"] - donation_amount: !!python/object/apply:decimal.Decimal [10] - match_amount: !!python/object/apply:decimal.Decimal [10] - donation_fee: !!python/object/apply:decimal.Decimal [".3"] - merchant_fee: !!python/object/apply:decimal.Decimal [".15"] - match_fee: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 20 + net_amount: !decimal "19.55" + donation_amount: !decimal 10 + match_amount: !decimal 10 + donation_fee: !decimal ".3" + merchant_fee: !decimal ".15" + match_fee: !decimal 0 fee_comment: "" payee: Anonymous corporation: Company C @@ -748,9 +749,9 @@ - source: BrightFunds.xls importer: brightfunds.DonorReportXLSImporter expect: - - date: !!python/object/apply:datetime.date [2017, 10, 20] + - date: !date "2017-10-20" currency: USD - amount: !!python/object/apply:decimal.Decimal [120] + amount: !decimal 120 payee: Dakota Smith corporation: Company company_name: "" @@ -764,9 +765,9 @@ - source: BrightFunds.csv importer: brightfunds.DonorReportImporter expect: - - date: !!python/object/apply:datetime.date [2020, 10, 01] + - date: !date "2020-10-01" currency: USD - amount: !!python/object/apply:decimal.Decimal [15] + amount: !decimal 15 payee: Company corporation: Company company_name: Company @@ -776,9 +777,9 @@ fund: "" on_behalf_of: Employed Person type: MatchingTransaction - - date: !!python/object/apply:datetime.date [2020, 9, 24] + - date: !date "2020-09-24" currency: USD - amount: !!python/object/apply:decimal.Decimal [15] + amount: !decimal 15 payee: Employed Person corporation: Company company_name: Company @@ -792,172 +793,172 @@ - source: OReillyRoyalties.csv importer: oreilly.RoyaltiesImporter expect: - - date: !!python/object/apply:datetime.date [2018, 3, 31] - start_date: !!python/object/apply:datetime.date [2018, 3, 1] + - date: !date "2018-03-31" + start_date: !date "2018-03-01" paid_date: null currency: USD - amount: !!python/object/apply:decimal.Decimal ["11.96"] + amount: !decimal "11.96" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2018, 2, 28] - start_date: !!python/object/apply:datetime.date [2018, 2, 1] - paid_date: !!python/object/apply:datetime.date [2018, 3, 29] + - date: !date "2018-02-28" + start_date: !date "2018-02-01" + paid_date: !date "2018-03-29" currency: USD - amount: !!python/object/apply:decimal.Decimal ["20.83"] + amount: !decimal "20.83" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2018, 1, 31] - start_date: !!python/object/apply:datetime.date [2018, 1, 1] - paid_date: !!python/object/apply:datetime.date [2018, 3, 29] + - date: !date "2018-01-31" + start_date: !date "2018-01-01" + paid_date: !date "2018-03-29" currency: USD - amount: !!python/object/apply:decimal.Decimal ["8.51"] + amount: !decimal "8.51" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2017, 3, 31] - start_date: !!python/object/apply:datetime.date [2017, 3, 1] - paid_date: !!python/object/apply:datetime.date [2017, 4, 28] + - date: !date "2017-03-31" + start_date: !date "2017-03-01" + paid_date: !date "2017-04-28" currency: USD - amount: !!python/object/apply:decimal.Decimal ["26.91"] + amount: !decimal "26.91" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2017, 1, 31] - start_date: !!python/object/apply:datetime.date [2017, 1, 1] - paid_date: !!python/object/apply:datetime.date [2017, 4, 28] + - date: !date "2017-01-31" + start_date: !date "2017-01-01" + paid_date: !date "2017-04-28" currency: USD - amount: !!python/object/apply:decimal.Decimal ["12.33"] + amount: !decimal "12.33" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2016, 12, 31] - start_date: !!python/object/apply:datetime.date [2016, 12, 1] - paid_date: !!python/object/apply:datetime.date [2017, 4, 28] + - date: !date "2016-12-31" + start_date: !date "2016-12-01" + paid_date: !date "2017-04-28" currency: USD - amount: !!python/object/apply:decimal.Decimal ["9.15"] + amount: !decimal "9.15" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2016, 9, 30] - start_date: !!python/object/apply:datetime.date [2016, 9, 1] - paid_date: !!python/object/apply:datetime.date [2016, 12, 16] + - date: !date "2016-09-30" + start_date: !date "2016-09-01" + paid_date: !date "2016-12-16" currency: USD - amount: !!python/object/apply:decimal.Decimal ["26.19"] + amount: !decimal "26.19" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2016, 8, 31] - start_date: !!python/object/apply:datetime.date [2016, 8, 1] - paid_date: !!python/object/apply:datetime.date [2016, 11, 30] + - date: !date "2016-08-31" + start_date: !date "2016-08-01" + paid_date: !date "2016-11-30" currency: USD - amount: !!python/object/apply:decimal.Decimal ["27.58"] + amount: !decimal "27.58" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2010, 3, 31] - start_date: !!python/object/apply:datetime.date [2010, 1, 1] - paid_date: !!python/object/apply:datetime.date [2010, 3, 31] + - date: !date "2010-03-31" + start_date: !date "2010-01-01" + paid_date: !date "2010-03-31" currency: USD - amount: !!python/object/apply:decimal.Decimal ["73.85"] + amount: !decimal "73.85" payee: "O'Reilly Media, Inc." - source: OReillyPayments.csv importer: oreilly.PaymentsImporter expect: - - date: !!python/object/apply:datetime.date [2018, 3, 29] - paid_date: !!python/object/apply:datetime.date [2018, 3, 29] + - date: !date "2018-03-29" + paid_date: !date "2018-03-29" currency: USD - amount: !!python/object/apply:decimal.Decimal ["29.34"] + amount: !decimal "29.34" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2017, 4, 27] - paid_date: !!python/object/apply:datetime.date [2017, 4, 28] + - date: !date "2017-04-27" + paid_date: !date "2017-04-28" currency: USD - amount: !!python/object/apply:decimal.Decimal ["26.91"] + amount: !decimal "26.91" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2017, 4, 24] - paid_date: !!python/object/apply:datetime.date [2017, 4, 28] + - date: !date "2017-04-24" + paid_date: !date "2017-04-28" currency: USD - amount: !!python/object/apply:decimal.Decimal ["21.48"] + amount: !decimal "21.48" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2016, 12, 16] - paid_date: !!python/object/apply:datetime.date [2016, 12, 16] + - date: !date "2016-12-16" + paid_date: !date "2016-12-16" currency: USD - amount: !!python/object/apply:decimal.Decimal ["26.19"] + amount: !decimal "26.19" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2016, 11, 29] - paid_date: !!python/object/apply:datetime.date [2016, 11, 30] + - date: !date "2016-11-29" + paid_date: !date "2016-11-30" currency: USD - amount: !!python/object/apply:decimal.Decimal ["27.58"] + amount: !decimal "27.58" payee: "O'Reilly Media, Inc." - - date: !!python/object/apply:datetime.date [2010, 3, 31] - paid_date: !!python/object/apply:datetime.date [2010, 3, 31] + - date: !date "2010-03-31" + paid_date: !date "2010-03-31" currency: USD - amount: !!python/object/apply:decimal.Decimal ["73.85"] + amount: !decimal "73.85" payee: "O'Reilly Media, Inc." - source: YourCause.csv importer: yourcause.DonationsImporter expect: - - date: !!python/object/apply:datetime.date [2018, 12, 20] + - date: !date "2018-12-20" currency: USD original_currency: USD payment_id: "10006789" transaction_id: 2-34567891 - amount: !!python/object/apply:decimal.Decimal [12] - original_amount: !!python/object/apply:decimal.Decimal [12] - received_amount: !!python/object/apply:decimal.Decimal [12] - donor_amount: !!python/object/apply:decimal.Decimal [12] - match_amount: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 12 + original_amount: !decimal 12 + received_amount: !decimal 12 + donor_amount: !decimal 12 + match_amount: !decimal 0 dedication_type: "" dedication: "" designation: Note payee: Dakota Smith donor: Dakota Smith corporation: Company A - - date: !!python/object/apply:datetime.date [2018, 12, 31] + - date: !date "2018-12-31" currency: USD original_currency: USD payment_id: "10006789" transaction_id: 2-34567893 - amount: !!python/object/apply:decimal.Decimal [14] - original_amount: !!python/object/apply:decimal.Decimal [14] - received_amount: !!python/object/apply:decimal.Decimal [14] - donor_amount: !!python/object/apply:decimal.Decimal [14] - match_amount: !!python/object/apply:decimal.Decimal [0] + amount: !decimal 14 + original_amount: !decimal 14 + received_amount: !decimal 14 + donor_amount: !decimal 14 + match_amount: !decimal 0 dedication_type: "" dedication: "" designation: "" payee: Anonymous donor: Anonymous corporation: Company B - - date: !!python/object/apply:datetime.date [2018, 12, 20] + - date: !date "2018-12-20" currency: USD original_currency: USD payment_id: "10006789" transaction_id: 2-34567895 - amount: !!python/object/apply:decimal.Decimal [12] - original_amount: !!python/object/apply:decimal.Decimal [12] - received_amount: !!python/object/apply:decimal.Decimal [12] - donor_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [12] + amount: !decimal 12 + original_amount: !decimal 12 + received_amount: !decimal 12 + donor_amount: !decimal 0 + match_amount: !decimal 12 dedication_type: "" dedication: "" designation: Note payee: Company A donor: Dakota Smith corporation: Company A - - date: !!python/object/apply:datetime.date [2018, 12, 31] + - date: !date "2018-12-31" currency: USD original_currency: USD payment_id: "10006789" transaction_id: 2-34567897 - amount: !!python/object/apply:decimal.Decimal [14] - original_amount: !!python/object/apply:decimal.Decimal [14] - received_amount: !!python/object/apply:decimal.Decimal [14] - donor_amount: !!python/object/apply:decimal.Decimal [0] - match_amount: !!python/object/apply:decimal.Decimal [14] + amount: !decimal 14 + original_amount: !decimal 14 + received_amount: !decimal 14 + donor_amount: !decimal 0 + match_amount: !decimal 14 dedication_type: "" dedication: "" designation: "" payee: Company B donor: Anonymous corporation: Company B - - date: !!python/object/apply:datetime.date [2018, 12, 15] + - date: !date "2018-12-15" currency: USD original_currency: GBP payment_id: "10006789" transaction_id: 2-34567899 - amount: !!python/object/apply:decimal.Decimal ["12.50"] - original_amount: !!python/object/apply:decimal.Decimal [10] - received_amount: !!python/object/apply:decimal.Decimal ["12.50"] - donor_amount: !!python/object/apply:decimal.Decimal ["12.50"] - match_amount: !!python/object/apply:decimal.Decimal [0] + amount: !decimal "12.50" + original_amount: !decimal 10 + received_amount: !decimal "12.50" + donor_amount: !decimal "12.50" + match_amount: !decimal 0 dedication_type: "" dedication: "" designation: "" @@ -968,7 +969,7 @@ - source: EventBrite.csv importer: eventbrite.SalesImporter expect: - - date: !!python/object/apply:datetime.date [2018, 11, 27] + - date: !date "2018-11-27" currency: USD event_name: First Event event_id: "12345678901" @@ -977,13 +978,13 @@ payee: Alex Jones corporation: "" ticket_type: Discount Ticket - quantity: !!python/object/apply:decimal.Decimal ["1"] - amount: !!python/object/apply:decimal.Decimal ["10"] - total_fees: !!python/object/apply:decimal.Decimal ["3.99"] - eventbrite_fees: !!python/object/apply:decimal.Decimal ["2.99"] - payment_fees: !!python/object/apply:decimal.Decimal ["1"] - tax: !!python/object/apply:decimal.Decimal [0] - - date: !!python/object/apply:datetime.date [2018, 12, 6] + quantity: !decimal "1" + amount: !decimal "10" + total_fees: !decimal "3.99" + eventbrite_fees: !decimal "2.99" + payment_fees: !decimal "1" + tax: !decimal 0 + - date: !date "2018-12-06" currency: USD event_name: First Event event_id: "12345678901" @@ -992,13 +993,13 @@ payee: Bret Baker corporation: "" ticket_type: Regular Ticket - quantity: !!python/object/apply:decimal.Decimal ["1"] - amount: !!python/object/apply:decimal.Decimal ["30"] - total_fees: !!python/object/apply:decimal.Decimal ["3.99"] - eventbrite_fees: !!python/object/apply:decimal.Decimal ["2.99"] - payment_fees: !!python/object/apply:decimal.Decimal ["1"] - tax: !!python/object/apply:decimal.Decimal [0] - - date: !!python/object/apply:datetime.date [2019, 1, 7] + quantity: !decimal "1" + amount: !decimal "30" + total_fees: !decimal "3.99" + eventbrite_fees: !decimal "2.99" + payment_fees: !decimal "1" + tax: !decimal 0 + - date: !date "2019-01-07" currency: USD event_name: First Event event_id: "12345678901" @@ -1007,13 +1008,13 @@ payee: Cam Smith corporation: SampleCo ticket_type: Premium Ticket - quantity: !!python/object/apply:decimal.Decimal ["1"] - amount: !!python/object/apply:decimal.Decimal ["60"] - total_fees: !!python/object/apply:decimal.Decimal ["6.39"] - eventbrite_fees: !!python/object/apply:decimal.Decimal ["4.39"] - payment_fees: !!python/object/apply:decimal.Decimal ["2"] - tax: !!python/object/apply:decimal.Decimal [0] - - date: !!python/object/apply:datetime.date [2019, 1, 23] + quantity: !decimal "1" + amount: !decimal "60" + total_fees: !decimal "6.39" + eventbrite_fees: !decimal "4.39" + payment_fees: !decimal "2" + tax: !decimal 0 + - date: !date "2019-01-23" currency: EUR event_name: Second Event event_id: "12345678902" @@ -1022,34 +1023,34 @@ payee: Jam Jones corporation: "" ticket_type: Discount Ticket - quantity: !!python/object/apply:decimal.Decimal ["1"] - amount: !!python/object/apply:decimal.Decimal ["25"] - total_fees: !!python/object/apply:decimal.Decimal ["3.99"] - eventbrite_fees: !!python/object/apply:decimal.Decimal ["2.99"] - payment_fees: !!python/object/apply:decimal.Decimal ["1"] - tax: !!python/object/apply:decimal.Decimal [0] + quantity: !decimal "1" + amount: !decimal "25" + total_fees: !decimal "3.99" + eventbrite_fees: !decimal "2.99" + payment_fees: !decimal "1" + tax: !decimal 0 - source: GitHubSponsors.csv importer: github.SponsorsImporter expect: - - date: !!python/object/apply:datetime.date [2020, 1, 2] + - date: !date "2020-01-02" payee: exampleA handle: exampleA email: ajones@example.com transaction_id: ch_1Gabcdefghijklmnopqrstuv - amount: !!python/object/apply:decimal.Decimal ["1"] + amount: !decimal "1" currency: USD - - date: !!python/object/apply:datetime.date [2020, 1, 3] + - date: !date "2020-01-03" payee: exampleB handle: exampleB email: "" transaction_id: 1023ABCD5678EFGHI - amount: !!python/object/apply:decimal.Decimal ["10"] + amount: !decimal "10" currency: USD - - date: !!python/object/apply:datetime.date [2020, 1, 4] + - date: !date "2020-01-04" payee: exampleC handle: exampleC email: info@example.com transaction_id: ch_1Gabcdefghijklmnopqrstuw - amount: !!python/object/apply:decimal.Decimal ["120"] + amount: !decimal "120" currency: USD diff --git a/tests/test_importers.py b/tests/test_importers.py index 01d66e6..605cffe 100644 --- a/tests/test_importers.py +++ b/tests/test_importers.py @@ -6,7 +6,6 @@ import importlib import itertools import pathlib import shutil -import re import pytest import yaml @@ -14,14 +13,23 @@ from import2ledger import importers, strparse from . import DATA_DIR -try: - load_yaml = yaml.full_load -except AttributeError: - load_yaml = yaml.load + +def decimal_constructor(loader, node): + value = loader.construct_scalar(node) + return decimal.Decimal(value) + + +def date_constructor(loader, node): + value = loader.construct_scalar(node) + return datetime.date.fromisoformat(value) + class TestImporters: + Loader = yaml.Loader + Loader.add_constructor('!decimal', decimal_constructor) + Loader.add_constructor('!date', date_constructor) with pathlib.Path(DATA_DIR, 'imports.yml').open() as yaml_file: - test_data = load_yaml(yaml_file) + test_data = yaml.load(yaml_file, Loader=Loader) for test in test_data: test['source'] = DATA_DIR / test['source']