little fixes

This commit is contained in:
2019-07-24 16:02:44 +02:00
parent 7350d5222c
commit dbb084b0ec

View File

@@ -150,7 +150,7 @@ impl<'q> AsPlayer<'q> {
pub fn sell(
self,
loot_id: i32,
_price_mod: Option<f32>,
price_mod: Option<f32>,
) -> ActionResult<(i32, i32, i32, i32)> {
self.conn.transaction(|| {
use schema::looted::dsl::*;
@@ -162,7 +162,10 @@ impl<'q> AsPlayer<'q> {
// it can't be what we're looking for
return Err(diesel::result::Error::NotFound);
}
let sell_value = (loot.base_price / 2) as f32;
let mut sell_value = (loot.base_price / 2) as f32;
if let Some(modifier) = price_mod {
sell_value *= modifier;
}
let _deleted = diesel::delete(looted.find(loot_id))
.execute(self.conn)?;
self.update_wealth(sell_value)
@@ -233,9 +236,9 @@ impl<'q> AsAdmin<'q> {
/// Adds a player to the database
///
/// Takes the player name and starting wealth (in gold value).
pub fn add_player(self, name: String, start_wealth: f32) -> ActionResult<()> {
pub fn add_player(self, name: &str, start_wealth: f32) -> ActionResult<()> {
diesel::insert_into(schema::players::table)
.values(&models::player::NewPlayer::create(&name, start_wealth))
.values(&models::player::NewPlayer::create(name, start_wealth))
.execute(self.0)
.map(|rows_updated| match rows_updated {
1 => (),
@@ -244,7 +247,7 @@ impl<'q> AsAdmin<'q> {
}
/// Adds a list of items to the group loot
pub fn add_loot<'a>(self, items: Vec<(&'a str, i32)>) -> ActionResult<()> {
pub fn add_loot(self, items: Vec<(&str, i32)>) -> ActionResult<()> {
for item_desc in items.into_iter() {
let new_item = models::item::NewLoot::to_group(item_desc);
diesel::insert_into(schema::looted::table)
@@ -336,7 +339,7 @@ mod tests {
let conn = test_connection();
DbApi::with_conn(&conn)
.as_admin()
.add_player("PlayerName".to_string(), 403.21)
.add_player("PlayerName", 403.21)
.unwrap();
let diff = DbApi::with_conn(&conn)
.as_player(1)
@@ -359,7 +362,7 @@ mod tests {
let conn = test_connection();
let result = DbApi::with_conn(&conn)
.as_admin()
.add_player("PlayerName".to_string(), 403.21);
.add_player("PlayerName", 403.21);
assert_eq!(result.is_ok(), true);
let players = DbApi::with_conn(&conn).fetch_players().unwrap();
assert_eq!(players.len(), 2);
@@ -383,8 +386,8 @@ mod tests {
("Arc", 40),
]).is_ok(), true);
// Add players
DbApi::with_conn(&conn).as_admin().add_player("Player1".to_string(), 0.0).unwrap();
DbApi::with_conn(&conn).as_admin().add_player("Player2".to_string(), 0.0).unwrap();
DbApi::with_conn(&conn).as_admin().add_player("Player1", 0.0).unwrap();
DbApi::with_conn(&conn).as_admin().add_player("Player2", 0.0).unwrap();
// Put claims on one different item each
DbApi::with_conn(&conn).as_player(1).claim(1).unwrap();
DbApi::with_conn(&conn).as_player(2).claim(2).unwrap();
@@ -404,7 +407,7 @@ mod tests {
let conn = test_connection();
DbApi::with_conn(&conn)
.as_admin()
.add_player("Player".to_string(), 0.0)
.add_player("Player", 0.0)
.unwrap();
DbApi::with_conn(&conn)
.as_admin()
@@ -428,7 +431,7 @@ mod tests {
let conn = test_connection();
DbApi::with_conn(&conn)
.as_admin()
.add_player("Player".to_string(), 0.0)
.add_player("Player", 0.0)
.unwrap();
DbApi::with_conn(&conn)
.as_admin()
@@ -460,7 +463,7 @@ mod tests {
let conn = test_connection();
DbApi::with_conn(&conn)
.as_admin()
.add_player("Player".to_string(), 1000.0)
.add_player("Player", 1000.0)
.unwrap();
// Buy an item
let bought = DbApi::with_conn(&conn)