Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 14 additions & 12 deletions manager_for_ynab/sankey/sankey.sql
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
WITH filtered_transactions AS (
SELECT
category_group_id
, category_group_name
, category_id
, category_name
, amount
, internal
, COALESCE(payee_name, '') AS payee_name
FROM flat_transactions
ft.category_group_id
, ft.category_group_name
, ft.category_id
, ft.category_name
, ft.amount
, c.internal AS category_internal
, COALESCE(ft.payee_name, '') AS payee_name
FROM flat_transactions AS ft
LEFT JOIN categories AS c
ON ft.category_id = c.id
WHERE
"date" BETWEEN ? AND ?
AND LOWER(cleared) = 'reconciled'
AND COALESCE(payee_name, '') != 'Starting Balance'
ft."date" BETWEEN ? AND ?
AND LOWER(ft.cleared) = 'reconciled'
AND COALESCE(ft.payee_name, '') != 'Starting Balance'
)

, ready_to_assign_income AS (
Expand Down Expand Up @@ -42,7 +44,7 @@ WITH filtered_transactions AS (
, category_name AS payee_name
, SUM(amount) AS amount
FROM filtered_transactions
WHERE NOT internal
WHERE NOT category_internal
GROUP BY
category_group_id
, category_group_name
Expand Down
11 changes: 11 additions & 0 deletions testing/fixtures.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,21 @@
import sqlite3
from importlib.resources import files
from pathlib import Path
from typing import Any
from uuid import uuid4

import pytest


_DDL_SQL = (
files("sqlite_export_for_ynab.ddl").joinpath("create-relations.sql").read_text()
)


def apply_ddl(con: sqlite3.Connection) -> None:
con.executescript(_DDL_SQL)


PLAN_ID_1 = str(uuid4())
_TESTING = Path(__file__).parent
_SEED_SQL = _TESTING / "seed.sql"
Expand Down Expand Up @@ -40,6 +50,7 @@ def seed_sql(*extra_paths: Path) -> str:


def execute_seed(con: sqlite3.Connection, *extra_paths: Path) -> None:
apply_ddl(con)
for statement in seed_sql(*extra_paths).split(";"):
statement = statement.strip()
if statement:
Expand Down
158 changes: 66 additions & 92 deletions testing/seed.sql
Original file line number Diff line number Diff line change
@@ -1,31 +1,25 @@
CREATE TABLE plans (
id TEXT PRIMARY KEY
, name TEXT
, currency_format_currency_symbol TEXT
, currency_format_iso_code TEXT
)
;

INSERT INTO plans VALUES (
INSERT INTO plans (
id
, name
, currency_format_currency_symbol
, currency_format_iso_code
) VALUES (
:plan_id
, 'My Plan'
, '$'
, 'USD'
)
;

CREATE TABLE accounts (
id TEXT PRIMARY KEY
, plan_id TEXT
, cleared_balance INT
, closed BOOLEAN
, deleted BOOLEAN
, name TEXT
, type TEXT
)
;

INSERT INTO accounts VALUES (
INSERT INTO accounts (
id
, plan_id
, cleared_balance
, closed
, deleted
, name
, type
) VALUES (
:checking_account_id
, :plan_id
, 430000
Expand All @@ -36,7 +30,15 @@ INSERT INTO accounts VALUES (
)
;

INSERT INTO accounts VALUES (
INSERT INTO accounts (
id
, plan_id
, cleared_balance
, closed
, deleted
, name
, type
) VALUES (
:credit_card_account_id
, :plan_id
, -200000
Expand All @@ -47,16 +49,13 @@ INSERT INTO accounts VALUES (
)
;

CREATE TABLE categories (
id TEXT PRIMARY KEY
, plan_id TEXT
, deleted BOOLEAN
, category_group_name TEXT
, name TEXT
)
;

INSERT INTO categories VALUES (
INSERT INTO categories (
id
, plan_id
, deleted
, category_group_name
, name
) VALUES (
:ready_to_assign_category_id
, :plan_id
, 0
Expand All @@ -65,7 +64,13 @@ INSERT INTO categories VALUES (
)
;

INSERT INTO categories VALUES (
INSERT INTO categories (
id
, plan_id
, deleted
, category_group_name
, name
) VALUES (
:credit_card_category_id
, :plan_id
, 0
Expand All @@ -74,7 +79,13 @@ INSERT INTO categories VALUES (
)
;

INSERT INTO categories VALUES (
INSERT INTO categories (
id
, plan_id
, deleted
, category_group_name
, name
) VALUES (
:dining_out_category_id
, :plan_id
, 0
Expand All @@ -83,7 +94,13 @@ INSERT INTO categories VALUES (
)
;

INSERT INTO categories VALUES (
INSERT INTO categories (
id
, plan_id
, deleted
, category_group_name
, name
) VALUES (
:duplicate_credit_card_category_id
, :plan_id
, 1
Expand All @@ -92,16 +109,13 @@ INSERT INTO categories VALUES (
)
;

CREATE TABLE payees (
id TEXT PRIMARY KEY
, plan_id TEXT
, deleted BOOLEAN
, name TEXT
, transfer_account_id TEXT
)
;

INSERT INTO payees VALUES (
INSERT INTO payees (
id
, plan_id
, deleted
, name
, transfer_account_id
) VALUES (
:employer_payee_id
, :plan_id
, 0
Expand All @@ -110,57 +124,17 @@ INSERT INTO payees VALUES (
)
;

INSERT INTO payees VALUES (
INSERT INTO payees (
id
, plan_id
, deleted
, name
, transfer_account_id
) VALUES (
:transfer_payee_id
, :plan_id
, 0
, 'Transfer'
, :checking_account_id
)
;

CREATE TABLE transactions (
id TEXT PRIMARY KEY
, plan_id TEXT
, account_id TEXT
, account_name TEXT
, "date" TEXT
, amount INT
, amount_formatted TEXT
, payee_name TEXT
, import_payee_name TEXT
, cleared TEXT
, approved BOOLEAN
, matched_transaction_id TEXT
, deleted BOOLEAN
)
;

CREATE TABLE subtransactions (
transfer_transaction_id TEXT
, deleted BOOLEAN
)
;

CREATE TABLE scheduled_transactions (
id TEXT PRIMARY KEY
, plan_id TEXT
, account_id TEXT
, account_name TEXT
, amount INT
, amount_formatted TEXT
, amount_currency REAL
, category_id TEXT
, category_name TEXT
, date_first TEXT
, date_next TEXT
, deleted BOOLEAN
, flag_color TEXT
, flag_name TEXT
, frequency TEXT
, memo TEXT
, payee_id TEXT
, payee_name TEXT
, transfer_account_id TEXT
)
;
4 changes: 3 additions & 1 deletion tests/pending_income/seed-transactions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -126,4 +126,6 @@ INSERT INTO transactions (
)
;

INSERT INTO subtransactions VALUES ('transfer', 0);
INSERT INTO subtransactions (id, transfer_transaction_id, deleted)
VALUES ('subtxn-transfer', 'transfer', 0)
;
Loading
Loading