summaryrefslogtreecommitdiff
path: root/schist_core/schist_queries/tests
diff options
context:
space:
mode:
Diffstat (limited to 'schist_core/schist_queries/tests')
-rw-r--r--schist_core/schist_queries/tests/category_transfers.rs130
-rw-r--r--schist_core/schist_queries/tests/drips.rs (renamed from schist_core/schist_queries/tests/budget_drips.rs)151
-rw-r--r--schist_core/schist_queries/tests/pipes.rs151
-rw-r--r--schist_core/schist_queries/tests/transaction_categorisations.rs130
4 files changed, 334 insertions, 228 deletions
diff --git a/schist_core/schist_queries/tests/category_transfers.rs b/schist_core/schist_queries/tests/category_transfers.rs
index e913dcb..13b9866 100644
--- a/schist_core/schist_queries/tests/category_transfers.rs
+++ b/schist_core/schist_queries/tests/category_transfers.rs
@@ -11,12 +11,21 @@ fn when_insert_bucket_transfers_then_returns_num_bucket_transfers() {
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let buckets = [make_fake_bucket(0), make_fake_bucket(1)];
let bucket_transfers = [
- make_fake_bucket_transfer_builder(0).from_bucket_id(0).to_bucket_id(1).build().unwrap(),
- make_fake_bucket_transfer_builder(1).from_bucket_id(0).to_bucket_id(1).build().unwrap(),
+ make_fake_bucket_transfer_builder(0)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .build()
+ .unwrap(),
+ make_fake_bucket_transfer_builder(1)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .build()
+ .unwrap(),
];
let _ = queries::buckets::insert_buckets(&buckets, connection);
- let num_bucket_transfers_inserted = queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
+ let num_bucket_transfers_inserted =
+ queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
assert_eq!(num_bucket_transfers_inserted, 2);
}
@@ -27,20 +36,34 @@ fn given_bucket_transfers_when_get_all_bucket_transfers_then_return_bucket_trans
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let buckets = [make_fake_bucket(0), make_fake_bucket(1)];
let bucket_transfers = [
- make_fake_bucket_transfer_builder(0).from_bucket_id(0).to_bucket_id(1).build().unwrap(),
- make_fake_bucket_transfer_builder(1).from_bucket_id(0).to_bucket_id(1).build().unwrap(),
+ make_fake_bucket_transfer_builder(0)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .build()
+ .unwrap(),
+ make_fake_bucket_transfer_builder(1)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .build()
+ .unwrap(),
];
let _ = queries::buckets::insert_buckets(&buckets, connection);
- let _ = queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
+ let _ =
+ queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
- let bucket_transfers_in_db = queries::bucket_transfers::get_all_bucket_transfers(connection).unwrap();
+ let bucket_transfers_in_db =
+ queries::bucket_transfers::get_all_bucket_transfers(connection).unwrap();
assert_eq!(bucket_transfers_in_db.len(), bucket_transfers.len());
for bucket_transfer in &bucket_transfers {
- assert!(bucket_transfers_in_db.iter().any(|bucket_transfer_in_db| bucket_transfer_in_db.eq(&bucket_transfer)));
+ assert!(bucket_transfers_in_db
+ .iter()
+ .any(|bucket_transfer_in_db| bucket_transfer_in_db.eq(&bucket_transfer)));
}
for bucket_transfer_in_db in bucket_transfers_in_db {
- assert!(bucket_transfers.iter().any(|bucket_transfer| bucket_transfer.eq(&bucket_transfer_in_db)));
+ assert!(bucket_transfers
+ .iter()
+ .any(|bucket_transfer| bucket_transfer.eq(&bucket_transfer_in_db)));
}
}
@@ -50,13 +73,23 @@ fn given_bucket_transfers_when_delete_all_bucket_transfers_then_return_num_of_bu
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let buckets = [make_fake_bucket(0), make_fake_bucket(1)];
let bucket_transfers = [
- make_fake_bucket_transfer_builder(0).from_bucket_id(0).to_bucket_id(1).build().unwrap(),
- make_fake_bucket_transfer_builder(1).from_bucket_id(0).to_bucket_id(1).build().unwrap(),
+ make_fake_bucket_transfer_builder(0)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .build()
+ .unwrap(),
+ make_fake_bucket_transfer_builder(1)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .build()
+ .unwrap(),
];
let _ = queries::buckets::insert_buckets(&buckets, connection);
- let _ = queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
+ let _ =
+ queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
- let num_bucket_transfers_deleted = queries::bucket_transfers::delete_all_bucket_transfers(connection).unwrap();
+ let num_bucket_transfers_deleted =
+ queries::bucket_transfers::delete_all_bucket_transfers(connection).unwrap();
assert_eq!(num_bucket_transfers_deleted, bucket_transfers.len());
}
@@ -67,32 +100,60 @@ fn given_deleted_bucket_transfers_when_get_all_bucket_transfers_then_return_empt
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let buckets = [make_fake_bucket(0), make_fake_bucket(1)];
let bucket_transfers = [
- make_fake_bucket_transfer_builder(0).from_bucket_id(0).to_bucket_id(1).build().unwrap(),
- make_fake_bucket_transfer_builder(1).from_bucket_id(0).to_bucket_id(1).build().unwrap(),
+ make_fake_bucket_transfer_builder(0)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .build()
+ .unwrap(),
+ make_fake_bucket_transfer_builder(1)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .build()
+ .unwrap(),
];
let _ = queries::buckets::insert_buckets(&buckets, connection);
- let _ = queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
+ let _ =
+ queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
let _ = queries::bucket_transfers::delete_all_bucket_transfers(connection).unwrap();
- let bucket_transfers_returned = queries::bucket_transfers::get_all_bucket_transfers(connection).unwrap();
+ let bucket_transfers_returned =
+ queries::bucket_transfers::get_all_bucket_transfers(connection).unwrap();
assert_eq!(bucket_transfers_returned.len(), 0);
}
#[test]
-fn given_bucket_transfers_when_sum_quantity_per_from_bucket_id_then_returns_sum_per_from_bucket_id() {
+fn given_bucket_transfers_when_sum_quantity_per_from_bucket_id_then_returns_sum_per_from_bucket_id()
+{
let context = TestContext::new();
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let buckets = [make_fake_bucket(0), make_fake_bucket(1)];
let bucket_transfers = [
- make_fake_bucket_transfer_builder(0).from_bucket_id(0).to_bucket_id(1).quantity(1).build().unwrap(),
- make_fake_bucket_transfer_builder(1).from_bucket_id(0).to_bucket_id(1).quantity(2).build().unwrap(),
- make_fake_bucket_transfer_builder(2).from_bucket_id(1).to_bucket_id(0).quantity(4).build().unwrap(),
+ make_fake_bucket_transfer_builder(0)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .amount(1)
+ .build()
+ .unwrap(),
+ make_fake_bucket_transfer_builder(1)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .amount(2)
+ .build()
+ .unwrap(),
+ make_fake_bucket_transfer_builder(2)
+ .from_bucket_id(1)
+ .to_bucket_id(0)
+ .amount(4)
+ .build()
+ .unwrap(),
];
let _ = queries::buckets::insert_buckets(&buckets, connection);
- let _ = queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
+ let _ =
+ queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
- let sums = queries::bucket_transfers::sum_bucket_transfer_quantity_per_from_bucket_id(connection);
+ let sums =
+ queries::bucket_transfers::sum_bucket_transfer_quantity_per_from_bucket_id(connection);
assert!(sums.is_ok());
let mut sums = sums.unwrap();
@@ -108,12 +169,27 @@ fn given_bucket_transfers_when_sum_quantity_per_to_bucket_id_then_returns_sum_pe
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let buckets = [make_fake_bucket(0), make_fake_bucket(1)];
let bucket_transfers = [
- make_fake_bucket_transfer_builder(0).from_bucket_id(0).to_bucket_id(1).quantity(1).build().unwrap(),
- make_fake_bucket_transfer_builder(1).from_bucket_id(0).to_bucket_id(1).quantity(2).build().unwrap(),
- make_fake_bucket_transfer_builder(2).from_bucket_id(1).to_bucket_id(0).quantity(4).build().unwrap(),
+ make_fake_bucket_transfer_builder(0)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .amount(1)
+ .build()
+ .unwrap(),
+ make_fake_bucket_transfer_builder(1)
+ .from_bucket_id(0)
+ .to_bucket_id(1)
+ .amount(2)
+ .build()
+ .unwrap(),
+ make_fake_bucket_transfer_builder(2)
+ .from_bucket_id(1)
+ .to_bucket_id(0)
+ .build()
+ .unwrap(),
];
let _ = queries::buckets::insert_buckets(&buckets, connection);
- let _ = queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
+ let _ =
+ queries::bucket_transfers::insert_bucket_transfers(&bucket_transfers, connection).unwrap();
let sums = queries::bucket_transfers::sum_bucket_transfer_quantity_per_to_bucket_id(connection);
diff --git a/schist_core/schist_queries/tests/budget_drips.rs b/schist_core/schist_queries/tests/drips.rs
index 7c5bd4d..dccdbf4 100644
--- a/schist_core/schist_queries/tests/budget_drips.rs
+++ b/schist_core/schist_queries/tests/drips.rs
@@ -2,7 +2,7 @@ mod common;
use common::test_context::TestContext;
use diesel::{Connection, SqliteConnection};
-use schist_fakes::{budget_drip::make_fake_budget_drip_builder, bucket::make_fake_bucket};
+use schist_fakes::{bucket::make_fake_bucket, drip::make_fake_drip_builder};
use schist_models::{bucket::Bucket, date_utc::DateUtc};
use schist_queries as queries;
@@ -18,17 +18,20 @@ fn when_insert_budget_drips_then_returns_num_budget_drips() {
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let _buckets = given_buckets(connection);
let budget_drips = [
- make_fake_budget_drip_builder(0)
+ make_fake_drip_builder(0)
.date(DateUtc::from_ymd(2020, 12, 25).unwrap())
.bucket_id(0)
- .build().unwrap(),
- make_fake_budget_drip_builder(1)
+ .build()
+ .unwrap(),
+ make_fake_drip_builder(1)
.date(DateUtc::from_ymd(2020, 12, 26).unwrap())
.bucket_id(0)
- .build().unwrap(),
+ .build()
+ .unwrap(),
];
- let num_budget_drips_inserted = queries::budget_drips::insert_budget_drips(&budget_drips, connection).unwrap();
+ let num_budget_drips_inserted =
+ queries::drips::insert_drips(&budget_drips, connection).unwrap();
assert_eq!(num_budget_drips_inserted, 2);
}
@@ -39,72 +42,68 @@ fn given_budget_drip_when_insert_budget_drip_same_bucket_and_same_date_then_retu
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let _buckets = given_buckets(connection);
- let budget_drips_1 = [
- make_fake_budget_drip_builder(0)
- .bucket_id(0)
- .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
- .build().unwrap()
- ];
- let _ = queries::budget_drips::insert_budget_drips(&budget_drips_1, connection);
+ let budget_drips_1 = [make_fake_drip_builder(0)
+ .bucket_id(0)
+ .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
+ .build()
+ .unwrap()];
+ let _ = queries::drips::insert_drips(&budget_drips_1, connection);
- let budget_drips_2 = [
- make_fake_budget_drip_builder(1)
- .bucket_id(0)
- .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
- .build().unwrap()
- ];
- let result = queries::budget_drips::insert_budget_drips(&budget_drips_2, connection);
+ let budget_drips_2 = [make_fake_drip_builder(1)
+ .bucket_id(0)
+ .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
+ .build()
+ .unwrap()];
+ let result = queries::drips::insert_drips(&budget_drips_2, connection);
assert!(result.is_err());
}
#[test]
-fn given_budget_drip_when_insert_budget_drip_different_bucket_and_same_date_then_return_num_budget_drips_inserted() {
+fn given_budget_drip_when_insert_budget_drip_different_bucket_and_same_date_then_return_num_budget_drips_inserted(
+) {
let context = TestContext::new();
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let _buckets = given_buckets(connection);
- let budget_drips_1 = [
- make_fake_budget_drip_builder(0)
- .bucket_id(0)
- .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
- .build().unwrap()
- ];
- let _ = queries::budget_drips::insert_budget_drips(&budget_drips_1, connection);
+ let budget_drips_1 = [make_fake_drip_builder(0)
+ .bucket_id(0)
+ .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
+ .build()
+ .unwrap()];
+ let _ = queries::drips::insert_drips(&budget_drips_1, connection);
- let budget_drips_2 = [
- make_fake_budget_drip_builder(1)
- .bucket_id(1)
- .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
- .build().unwrap()
- ];
- let result = queries::budget_drips::insert_budget_drips(&budget_drips_2, connection);
+ let budget_drips_2 = [make_fake_drip_builder(1)
+ .bucket_id(1)
+ .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
+ .build()
+ .unwrap()];
+ let result = queries::drips::insert_drips(&budget_drips_2, connection);
assert!(result.is_ok());
assert_eq!(result.unwrap(), 1);
}
#[test]
-fn given_budget_drip_when_insert_budget_drip_same_bucket_and_different_date_then_return_num_budget_drips_inserted() {
+fn given_budget_drip_when_insert_budget_drip_same_bucket_and_different_date_then_return_num_budget_drips_inserted(
+) {
let context = TestContext::new();
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let _buckets = given_buckets(connection);
- let budget_drips_1 = [
- make_fake_budget_drip_builder(0)
- .bucket_id(0)
- .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
- .build().unwrap()
- ];
- let _ = queries::budget_drips::insert_budget_drips(&budget_drips_1, connection);
+ let budget_drips_1 = [make_fake_drip_builder(0)
+ .bucket_id(0)
+ .date(DateUtc::from_ymd(2020, 12, 25).unwrap())
+ .build()
+ .unwrap()];
+ let _ = queries::drips::insert_drips(&budget_drips_1, connection);
- let budget_drips_2 = [
- make_fake_budget_drip_builder(1)
- .bucket_id(0)
- .date(DateUtc::from_ymd(2020, 12, 26).unwrap())
- .build().unwrap()
- ];
- let result = queries::budget_drips::insert_budget_drips(&budget_drips_2, connection);
+ let budget_drips_2 = [make_fake_drip_builder(1)
+ .bucket_id(0)
+ .date(DateUtc::from_ymd(2020, 12, 26).unwrap())
+ .build()
+ .unwrap()];
+ let result = queries::drips::insert_drips(&budget_drips_2, connection);
assert!(result.is_ok());
assert_eq!(result.unwrap(), 1);
@@ -116,27 +115,33 @@ fn given_budget_drips_when_get_all_budget_drips_then_return_budget_drips() {
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let _buckets = given_buckets(connection);
let budget_drips = [
- make_fake_budget_drip_builder(0)
+ make_fake_drip_builder(0)
.date(DateUtc::from_ymd(2020, 12, 25).unwrap())
.bucket_id(0)
- .build().unwrap(),
- make_fake_budget_drip_builder(1)
+ .build()
+ .unwrap(),
+ make_fake_drip_builder(1)
.date(DateUtc::from_ymd(2020, 12, 26).unwrap())
.bucket_id(0)
- .build().unwrap(),
+ .build()
+ .unwrap(),
];
- let _ = queries::budget_drips::insert_budget_drips(&budget_drips, connection).unwrap();
+ let _ = queries::drips::insert_drips(&budget_drips, connection).unwrap();
- let budget_drips_in_db = queries::budget_drips::get_all_budget_drips(connection).unwrap();
+ let budget_drips_in_db = queries::drips::get_all_drips(connection).unwrap();
assert_eq!(budget_drips_in_db.len(), budget_drips.len());
assert_eq!(budget_drips_in_db[0], budget_drips[0]);
assert_eq!(budget_drips_in_db[1], budget_drips[1]);
for budget_drip in &budget_drips {
- assert!(budget_drips_in_db.iter().any(|budget_drip_in_db| budget_drip_in_db.eq(&budget_drip)));
+ assert!(budget_drips_in_db
+ .iter()
+ .any(|budget_drip_in_db| budget_drip_in_db.eq(&budget_drip)));
}
for budget_drip_in_db in budget_drips_in_db {
- assert!(budget_drips.iter().any(|budget_drip| budget_drip.eq(&budget_drip_in_db)));
+ assert!(budget_drips
+ .iter()
+ .any(|budget_drip| budget_drip.eq(&budget_drip_in_db)));
}
}
@@ -146,18 +151,20 @@ fn given_budget_drips_when_delete_all_budget_drips_then_return_num_of_budget_dri
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let _buckets = given_buckets(connection);
let budget_drips = [
- make_fake_budget_drip_builder(0)
+ make_fake_drip_builder(0)
.date(DateUtc::from_ymd(2020, 12, 25).unwrap())
.bucket_id(0)
- .build().unwrap(),
- make_fake_budget_drip_builder(1)
+ .build()
+ .unwrap(),
+ make_fake_drip_builder(1)
.date(DateUtc::from_ymd(2020, 12, 26).unwrap())
.bucket_id(0)
- .build().unwrap(),
+ .build()
+ .unwrap(),
];
- let _ = queries::budget_drips::insert_budget_drips(&budget_drips, connection).unwrap();
+ let _ = queries::drips::insert_drips(&budget_drips, connection).unwrap();
- let num_budget_drips_deleted = queries::budget_drips::delete_all_budget_drips(connection).unwrap();
+ let num_budget_drips_deleted = queries::drips::delete_all_drips(connection).unwrap();
assert_eq!(num_budget_drips_deleted, budget_drips.len());
}
@@ -168,19 +175,21 @@ fn given_deleted_budget_drips_when_get_all_budget_drips_then_return_empty() {
let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
let _buckets = given_buckets(connection);
let budget_drips = [
- make_fake_budget_drip_builder(0)
+ make_fake_drip_builder(0)
.date(DateUtc::from_ymd(2020, 12, 25).unwrap())
.bucket_id(0)
- .build().unwrap(),
- make_fake_budget_drip_builder(1)
+ .build()
+ .unwrap(),
+ make_fake_drip_builder(1)
.date(DateUtc::from_ymd(2020, 12, 26).unwrap())
.bucket_id(0)
- .build().unwrap(),
+ .build()
+ .unwrap(),
];
- let _ = queries::budget_drips::insert_budget_drips(&budget_drips, connection).unwrap();
- let _ = queries::budget_drips::delete_all_budget_drips(connection).unwrap();
+ let _ = queries::drips::insert_drips(&budget_drips, connection).unwrap();
+ let _ = queries::drips::delete_all_drips(connection).unwrap();
- let budget_drips_returned = queries::budget_drips::get_all_budget_drips(connection).unwrap();
+ let budget_drips_returned = queries::drips::get_all_drips(connection).unwrap();
assert_eq!(budget_drips_returned.len(), 0);
}
diff --git a/schist_core/schist_queries/tests/pipes.rs b/schist_core/schist_queries/tests/pipes.rs
new file mode 100644
index 0000000..abd5a5e
--- /dev/null
+++ b/schist_core/schist_queries/tests/pipes.rs
@@ -0,0 +1,151 @@
+mod common;
+
+use common::test_context::TestContext;
+use diesel::{Connection, SqliteConnection};
+use schist_fakes::{
+ account::make_fake_account, bucket::make_fake_bucket, pipe::make_fake_pipe_builder,
+ transaction::make_fake_transaction_builder,
+};
+use schist_models::{account::Account, bucket::Bucket, transaction::Transaction};
+use schist_queries as queries;
+
+fn given_accounts(connection: &mut SqliteConnection) -> Vec<Account> {
+ let accounts = vec![make_fake_account(0)];
+ let _ = queries::accounts::insert_accounts(&accounts, connection);
+ accounts
+}
+
+fn given_buckets(connection: &mut SqliteConnection) -> Vec<Bucket> {
+ let buckets = vec![make_fake_bucket(0), make_fake_bucket(1)];
+ let _ = queries::buckets::insert_buckets(&buckets, connection);
+ buckets
+}
+
+fn given_transactions(connection: &mut SqliteConnection) -> Vec<Transaction> {
+ let transactions = vec![
+ make_fake_transaction_builder(0)
+ .account_id(0)
+ .build()
+ .unwrap(),
+ make_fake_transaction_builder(1)
+ .account_id(0)
+ .build()
+ .unwrap(),
+ ];
+ let _ = queries::transactions::insert_transactions(&transactions, connection);
+ transactions
+}
+
+#[test]
+fn when_insert_pipes_then_returns_num_pipes() {
+ let context = TestContext::new();
+ let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
+ given_accounts(connection);
+ given_buckets(connection);
+ given_transactions(connection);
+ let pipes = [
+ make_fake_pipe_builder(0).bucket_id(0).build().unwrap(),
+ make_fake_pipe_builder(1).bucket_id(0).build().unwrap(),
+ ];
+
+ let num_pipes_inserted = queries::pipes::insert_pipes(&pipes, connection).unwrap();
+
+ assert_eq!(num_pipes_inserted, 2);
+}
+
+#[test]
+fn given_pipes_when_get_all_pipes_then_return_pipes() {
+ let context = TestContext::new();
+ let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
+ given_accounts(connection);
+ given_buckets(connection);
+ given_transactions(connection);
+ let pipes = [
+ make_fake_pipe_builder(0).bucket_id(0).build().unwrap(),
+ make_fake_pipe_builder(1).bucket_id(0).build().unwrap(),
+ ];
+ let _ = queries::pipes::insert_pipes(&pipes, connection);
+
+ let pipes_in_db = queries::pipes::get_all_pipes(connection).unwrap();
+
+ assert_eq!(pipes_in_db.len(), pipes.len());
+ for pipe in &pipes {
+ assert!(pipes_in_db.iter().any(|pipe_in_db| pipe_in_db.eq(&pipe)));
+ }
+ for pipe_in_db in pipes_in_db {
+ assert!(pipes.iter().any(|pipe| pipe.eq(&pipe_in_db)));
+ }
+}
+
+#[test]
+fn given_pipes_when_delete_all_pipes_then_return_num_of_pipes() {
+ let context = TestContext::new();
+ let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
+ given_accounts(connection);
+ given_buckets(connection);
+ given_transactions(connection);
+ let pipes = [
+ make_fake_pipe_builder(0).bucket_id(0).build().unwrap(),
+ make_fake_pipe_builder(1).bucket_id(0).build().unwrap(),
+ ];
+ let _ = queries::pipes::insert_pipes(&pipes, connection);
+
+ let num_pipes_deleted = queries::pipes::delete_all_pipes(connection).unwrap();
+
+ assert_eq!(num_pipes_deleted, pipes.len());
+}
+
+#[test]
+fn given_deleted_pipes_when_get_all_pipes_then_return_empty() {
+ let context = TestContext::new();
+ let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
+ given_accounts(connection);
+ given_buckets(connection);
+ given_transactions(connection);
+ let pipes = [
+ make_fake_pipe_builder(0).bucket_id(0).build().unwrap(),
+ make_fake_pipe_builder(1).bucket_id(0).build().unwrap(),
+ ];
+ let _ = queries::pipes::insert_pipes(&pipes, connection);
+ let _ = queries::pipes::delete_all_pipes(connection);
+
+ let pipes_returned = queries::pipes::get_all_pipes(connection).unwrap();
+
+ assert_eq!(pipes_returned.len(), 0);
+}
+
+#[test]
+fn given_pipes_when_sum_quantity_per_bucket_id_then_returns_sum_quantity_per_bucket_id() {
+ let context = TestContext::new();
+ let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
+ given_accounts(connection);
+ let buckets = given_buckets(connection);
+ given_transactions(connection);
+ let pipes = [
+ make_fake_pipe_builder(0)
+ .bucket_id(0)
+ .amount(1)
+ .build()
+ .unwrap(),
+ make_fake_pipe_builder(1)
+ .bucket_id(0)
+ .amount(2)
+ .build()
+ .unwrap(),
+ make_fake_pipe_builder(2)
+ .bucket_id(1)
+ .amount(4)
+ .build()
+ .unwrap(),
+ ];
+ let _ = queries::pipes::insert_pipes(&pipes, connection);
+
+ let sums = queries::pipes::sum_pipes_flow_per_bucket_id(connection);
+
+ assert!(sums.is_ok());
+ let mut sums = sums.unwrap();
+ sums.sort_by_key(|sum| sum.0);
+ assert_eq!(buckets.len(), sums.len());
+ assert_eq!(3, sums[0].1);
+ assert_eq!(4, sums[1].1);
+}
diff --git a/schist_core/schist_queries/tests/transaction_categorisations.rs b/schist_core/schist_queries/tests/transaction_categorisations.rs
deleted file mode 100644
index bb88896..0000000
--- a/schist_core/schist_queries/tests/transaction_categorisations.rs
+++ /dev/null
@@ -1,130 +0,0 @@
-mod common;
-
-use common::test_context::TestContext;
-use diesel::{Connection, SqliteConnection};
-use schist_fakes::{account::make_fake_account, bucket::make_fake_bucket, transaction::make_fake_transaction_builder, transaction_categorisation::make_fake_transaction_categorisation_builder};
-use schist_models::{account::Account, bucket::Bucket, transaction::Transaction};
-use schist_queries as queries;
-
-fn given_accounts(connection: &mut SqliteConnection) -> Vec<Account> {
- let accounts = vec![make_fake_account(0)];
- let _ = queries::accounts::insert_accounts(&accounts, connection);
- accounts
-}
-
-fn given_buckets(connection: &mut SqliteConnection) -> Vec<Bucket> {
- let buckets = vec![make_fake_bucket(0), make_fake_bucket(1)];
- let _ = queries::buckets::insert_buckets(&buckets, connection);
- buckets
-}
-
-fn given_transactions(connection: &mut SqliteConnection) -> Vec<Transaction> {
- let transactions = vec![
- make_fake_transaction_builder(0).account_id(0).build().unwrap(),
- make_fake_transaction_builder(1).account_id(0).build().unwrap(),
- ];
- let _ = queries::transactions::insert_transactions(&transactions, connection);
- transactions
-}
-
-#[test]
-fn when_insert_transaction_categorisations_then_returns_num_transaction_categorisations() {
- let context = TestContext::new();
- let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
- given_accounts(connection);
- given_buckets(connection);
- given_transactions(connection);
- let transaction_categorisations = [
- make_fake_transaction_categorisation_builder(0).bucket_id(0).build().unwrap(),
- make_fake_transaction_categorisation_builder(1).bucket_id(0).build().unwrap(),
- ];
-
- let num_transaction_categorisations_inserted = queries::transaction_categorisations::insert_transaction_categorisations(&transaction_categorisations, connection).unwrap();
-
- assert_eq!(num_transaction_categorisations_inserted, 2);
-}
-
-#[test]
-fn given_transaction_categorisations_when_get_all_transaction_categorisations_then_return_transaction_categorisations() {
- let context = TestContext::new();
- let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
- given_accounts(connection);
- given_buckets(connection);
- given_transactions(connection);
- let transaction_categorisations = [
- make_fake_transaction_categorisation_builder(0).bucket_id(0).build().unwrap(),
- make_fake_transaction_categorisation_builder(1).bucket_id(0).build().unwrap(),
- ];
- let _ = queries::transaction_categorisations::insert_transaction_categorisations(&transaction_categorisations, connection);
-
- let transaction_categorisations_in_db = queries::transaction_categorisations::get_all_transaction_categorisations(connection).unwrap();
-
- assert_eq!(transaction_categorisations_in_db.len(), transaction_categorisations.len());
- for transaction_categorisation in &transaction_categorisations {
- assert!(transaction_categorisations_in_db.iter().any(|transaction_categorisation_in_db| transaction_categorisation_in_db.eq(&transaction_categorisation)));
- }
- for transaction_categorisation_in_db in transaction_categorisations_in_db {
- assert!(transaction_categorisations.iter().any(|transaction_categorisation| transaction_categorisation.eq(&transaction_categorisation_in_db)));
- }
-}
-
-#[test]
-fn given_transaction_categorisations_when_delete_all_transaction_categorisations_then_return_num_of_transaction_categorisations() {
- let context = TestContext::new();
- let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
- given_accounts(connection);
- given_buckets(connection);
- given_transactions(connection);
- let transaction_categorisations = [
- make_fake_transaction_categorisation_builder(0).bucket_id(0).build().unwrap(),
- make_fake_transaction_categorisation_builder(1).bucket_id(0).build().unwrap(),
- ];
- let _ = queries::transaction_categorisations::insert_transaction_categorisations(&transaction_categorisations, connection);
-
- let num_transaction_categorisations_deleted = queries::transaction_categorisations::delete_all_transaction_categorisations(connection).unwrap();
-
- assert_eq!(num_transaction_categorisations_deleted, transaction_categorisations.len());
-}
-
-#[test]
-fn given_deleted_transaction_categorisations_when_get_all_transaction_categorisations_then_return_empty() {
- let context = TestContext::new();
- let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
- given_accounts(connection);
- given_buckets(connection);
- given_transactions(connection);
- let transaction_categorisations = [
- make_fake_transaction_categorisation_builder(0).bucket_id(0).build().unwrap(),
- make_fake_transaction_categorisation_builder(1).bucket_id(0).build().unwrap(),
- ];
- let _ = queries::transaction_categorisations::insert_transaction_categorisations(&transaction_categorisations, connection);
- let _ = queries::transaction_categorisations::delete_all_transaction_categorisations(connection);
-
- let transaction_categorisations_returned = queries::transaction_categorisations::get_all_transaction_categorisations(connection).unwrap();
-
- assert_eq!(transaction_categorisations_returned.len(), 0);
-}
-
-#[test]
-fn given_transaction_categorisations_when_sum_quantity_per_bucket_id_then_returns_sum_quantity_per_bucket_id() {
- let context = TestContext::new();
- let connection = &mut SqliteConnection::establish(&context.db_url).unwrap();
- given_accounts(connection);
- let buckets = given_buckets(connection);
- given_transactions(connection);
- let transaction_categorisations = [
- make_fake_transaction_categorisation_builder(0).bucket_id(0).quantity(1).build().unwrap(),
- make_fake_transaction_categorisation_builder(1).bucket_id(0).quantity(2).build().unwrap(),
- make_fake_transaction_categorisation_builder(2).bucket_id(1).quantity(4).build().unwrap(),
- ];
- let _ = queries::transaction_categorisations::insert_transaction_categorisations(&transaction_categorisations, connection);
-
- let sums = queries::transaction_categorisations::sum_transaction_categorisation_quantity_per_bucket_id(connection);
-
- assert!(sums.is_ok());
- let mut sums = sums.unwrap();
- sums.sort_by_key(|sum| sum.0);
- assert_eq!(buckets.len(), sums.len());
- assert_eq!(3, sums[0].1);
- assert_eq!(4, sums[1].1);
-}