going somewhere.
This commit is contained in:
1 parent
6294814f62
commit
494cdedfc6
9 files changed
+361
-127
No files matched your search
@@ -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(())
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user