going somewhere.

This commit is contained in:
didier amyot committed 2022-12-17 10:07:43 -05:00
1 parent 6294814f62
commit 494cdedfc6
9 files changed
+361 -127

No files matched your search

+51 -9
View File
@@ -1,20 +1,62 @@
use rusqlite::{Transaction, Result};
use rusqlite::{params, Result, Transaction};
use crate::db::accounts::get_account_by_id;
use crate::db::cheques::Cheque;
use crate::db::cheques::SecurityEmitterCheque;
use crate::db::securities::get_security_by_id;
fn _add_securities_to_account(tx: &Transaction,
cheque: &SecurityEmitterCheque) -> Result<()> {
let q = "
INSERT INTO accounts() VALUES()
";
tx.execute(q, params![cheque.amount])?;
Ok(())
}
fn cash_cheque(cheque: &Cheque) -> Result<()> {
if !cheque.is_valid() {
}
fn cash_cheque(tx: &Transaction,
cheque: &SecurityEmitterCheque) -> Result<()> {
cheque.assert_valid(tx)?;
// move money to new account
_add_securities_to_account(tx, cheque)?;
// create transaction log
// create cheque log
Ok(())
}
fn update_account(tx: &Transaction, account_id: u32) -> Result<()> {
let account = get_account_by_id(tx, account_id)?;
// let sec = get_security_by_id(tx, account.)
return Ok(());
}
#[cfg(test)]
mod test {
use rusqlite::{Connection, params, Result};
use crate::db::test_utils;
use crate::migration;
use super::*;
fn setup() -> Connection {
let mut conn = Connection::open_in_memory().unwrap();
migration::apply_migrations(&mut conn).unwrap();
return conn;
}
#[test]
fn test_basic() -> Result<()> {
let mut conn = setup();
let tx = conn.transaction()?;
let (users, securities, accounts) = test_utils::setup_basic_environment(&tx)?;
tx.commit()?;
let tx = conn.transaction()?;
// let cheque = SecurityEmitterCheque{
// drawer_user_id: users.get_unchecked(0).id
// };
Ok(())
}
}