fix tests
This commit is contained in:
parent
e3991f5d41
commit
b4866a3e59
@ -47,10 +47,11 @@ pub async fn new_user_character_with_sid<EG: EntityGateway>(entity_gateway: &mut
|
|||||||
let user = entity_gateway.create_user(new_user).await.unwrap();
|
let user = entity_gateway.create_user(new_user).await.unwrap();
|
||||||
let new_settings = NewUserSettingsEntity::new(user.id);
|
let new_settings = NewUserSettingsEntity::new(user.id);
|
||||||
let _settings = entity_gateway.create_user_settings(new_settings).await.unwrap();
|
let _settings = entity_gateway.create_user_settings(new_settings).await.unwrap();
|
||||||
let mut new_character = NewCharacterEntity::new(user.id);
|
let mut new_character = NewCharacterEntity::new(user.id, 1);
|
||||||
new_character.section_id = sid;
|
new_character.section_id = sid;
|
||||||
let character = entity_gateway.create_character(new_character).await.unwrap();
|
let character = entity_gateway.create_character(new_character).await.unwrap();
|
||||||
|
entity_gateway.set_character_meseta(&character.id, Meseta(0)).await.unwrap();
|
||||||
|
entity_gateway.set_bank_meseta(&character.id, BankName("".into()), Meseta(0)).await.unwrap();
|
||||||
(user, character)
|
(user, character)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@ async fn test_pick_up_individual_item() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
|
@ -274,6 +274,7 @@ async fn test_player_sells_3_attr_weapon_to_shop() {
|
|||||||
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Dark, value: 100}),
|
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Dark, value: 100}),
|
||||||
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Native, value: 100}),],
|
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Native, value: 100}),],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -635,6 +636,7 @@ async fn test_player_sells_untekked_weapon() {
|
|||||||
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Dark, value: 100}),
|
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Dark, value: 100}),
|
||||||
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Native, value: 100}),],
|
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Native, value: 100}),],
|
||||||
tekked: false,
|
tekked: false,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -679,6 +681,7 @@ async fn test_player_sells_rare_item() {
|
|||||||
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Dark, value: 100}),
|
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Dark, value: 100}),
|
||||||
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Native, value: 100}),],
|
Some(item::weapon::WeaponAttribute{attr: item::weapon::Attribute::Native, value: 100}),],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -923,6 +926,7 @@ async fn test_player_sells_1_star_minusminus_unit() {
|
|||||||
item::unit::Unit {
|
item::unit::Unit {
|
||||||
unit: item::unit::UnitType::PriestMind,
|
unit: item::unit::UnitType::PriestMind,
|
||||||
modifier: Some(item::unit::UnitModifier::MinusMinus),
|
modifier: Some(item::unit::UnitModifier::MinusMinus),
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -962,6 +966,7 @@ async fn test_player_sells_5_star_plusplus_unit() {
|
|||||||
item::unit::Unit {
|
item::unit::Unit {
|
||||||
unit: item::unit::UnitType::GeneralHp,
|
unit: item::unit::UnitType::GeneralHp,
|
||||||
modifier: Some(item::unit::UnitModifier::PlusPlus),
|
modifier: Some(item::unit::UnitModifier::PlusPlus),
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -1082,6 +1087,7 @@ async fn test_player_sells_rare_unit() {
|
|||||||
item::unit::Unit {
|
item::unit::Unit {
|
||||||
unit: item::unit::UnitType::V101,
|
unit: item::unit::UnitType::V101,
|
||||||
modifier: None,
|
modifier: None,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -1122,6 +1128,7 @@ async fn test_player_cant_sell_if_meseta_would_go_over_max() {
|
|||||||
item::unit::Unit {
|
item::unit::Unit {
|
||||||
unit: item::unit::UnitType::V101,
|
unit: item::unit::UnitType::V101,
|
||||||
modifier: None,
|
modifier: None,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
|
@ -127,6 +127,7 @@ async fn test_trade_one_individual_item() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -228,6 +229,7 @@ async fn test_trade_player2_to_player1() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -329,6 +331,7 @@ async fn test_reverse_trade_ack_order() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -641,6 +644,7 @@ async fn test_trade_individual_both() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap()];
|
}).await.unwrap()];
|
||||||
@ -654,6 +658,7 @@ async fn test_trade_individual_both() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap()];
|
}).await.unwrap()];
|
||||||
@ -1464,6 +1469,7 @@ async fn test_trade_individual_for_stacked() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap()];
|
}).await.unwrap()];
|
||||||
@ -1634,6 +1640,7 @@ async fn test_trade_multiple_individual() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -1646,6 +1653,7 @@ async fn test_trade_multiple_individual() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -1660,6 +1668,7 @@ async fn test_trade_multiple_individual() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -1672,6 +1681,7 @@ async fn test_trade_multiple_individual() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -2161,6 +2171,7 @@ async fn test_trade_not_enough_inventory_space_individual() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
@ -2183,6 +2194,7 @@ async fn test_trade_not_enough_inventory_space_individual() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
@ -2300,6 +2312,7 @@ async fn test_trade_not_enough_inventory_space_stacked() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
@ -2782,6 +2795,7 @@ async fn test_back_out_of_trade_last_minute() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -2850,6 +2864,7 @@ async fn test_valid_trade_when_both_inventories_are_full() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
@ -2872,6 +2887,7 @@ async fn test_valid_trade_when_both_inventories_are_full() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
@ -2992,6 +3008,7 @@ async fn test_invalid_trade_when_both_inventories_are_full() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
@ -3014,6 +3031,7 @@ async fn test_invalid_trade_when_both_inventories_are_full() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
@ -3213,6 +3231,7 @@ async fn test_add_then_remove_individual_item() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -3670,6 +3689,7 @@ async fn test_items_to_trade_data_does_not_match() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -3715,6 +3735,7 @@ async fn test_items_to_trade_data_does_not_match() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
)});
|
)});
|
||||||
let titems = TradeItemBuilder::default()
|
let titems = TradeItemBuilder::default()
|
||||||
@ -3753,6 +3774,7 @@ async fn test_items_to_trade_id_does_not_match() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
@ -3972,6 +3994,7 @@ async fn test_items_to_trade_count_less_than() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -3984,6 +4007,7 @@ async fn test_items_to_trade_count_less_than() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -3996,6 +4020,7 @@ async fn test_items_to_trade_count_less_than() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -4076,6 +4101,7 @@ async fn test_items_to_trade_count_greater_than() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -4088,6 +4114,7 @@ async fn test_items_to_trade_count_greater_than() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -4100,6 +4127,7 @@ async fn test_items_to_trade_count_greater_than() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -4184,6 +4212,7 @@ async fn test_items_to_trade_count_mismatch_with_meseta() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -4196,6 +4225,7 @@ async fn test_items_to_trade_count_mismatch_with_meseta() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -4208,6 +4238,7 @@ async fn test_items_to_trade_count_mismatch_with_meseta() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap(),
|
}).await.unwrap(),
|
||||||
@ -4286,6 +4317,7 @@ async fn test_dropping_item_after_trade() {
|
|||||||
special: None,
|
special: None,
|
||||||
attrs: [None, None, None],
|
attrs: [None, None, None],
|
||||||
tekked: true,
|
tekked: true,
|
||||||
|
kills: None,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
}).await.unwrap());
|
}).await.unwrap());
|
||||||
|
@ -10,12 +10,11 @@
|
|||||||
|
|
||||||
use elseware::common::serverstate::{ClientId, ServerState};
|
use elseware::common::serverstate::{ClientId, ServerState};
|
||||||
use elseware::entity::gateway::{EntityGateway, InMemoryGateway};
|
use elseware::entity::gateway::{EntityGateway, InMemoryGateway};
|
||||||
use elseware::entity::item;
|
use elseware::ship::ship::{ShipServerState, RecvShipPacket, SendShipPacket};
|
||||||
use elseware::ship::ship::{ShipServerState, RecvShipPacket};
|
|
||||||
use elseware::entity::character::{SectionID};
|
use elseware::entity::character::{SectionID};
|
||||||
use elseware::ship::room::{Difficulty};
|
use elseware::ship::room::{Difficulty};
|
||||||
use elseware::ship::map::area::{MapArea};
|
|
||||||
use elseware::ship::monster::{MonsterType};
|
use elseware::ship::monster::{MonsterType};
|
||||||
|
use elseware::entity::item;
|
||||||
|
|
||||||
use libpso::packet::ship::*;
|
use libpso::packet::ship::*;
|
||||||
use libpso::packet::messages::*;
|
use libpso::packet::messages::*;
|
||||||
@ -27,7 +26,12 @@ use common::*;
|
|||||||
#[async_std::test]
|
#[async_std::test]
|
||||||
async fn test_item_drops_with_kill_counter() {
|
async fn test_item_drops_with_kill_counter() {
|
||||||
let mut entity_gateway = InMemoryGateway::default();
|
let mut entity_gateway = InMemoryGateway::default();
|
||||||
let (_user1, _char1) = new_user_character_with_sid(&mut entity_gateway, "a1", "a", SectionID::Skyly).await;
|
|
||||||
|
let (_user1, mut char1) = new_user_character_with_sid(&mut entity_gateway, "a1", "a", SectionID::Skyly).await;
|
||||||
|
|
||||||
|
char1.exp = 80000000;
|
||||||
|
entity_gateway.save_character(&char1).await.unwrap();
|
||||||
|
|
||||||
let mut ship = Box::new(ShipServerState::builder()
|
let mut ship = Box::new(ShipServerState::builder()
|
||||||
.gateway(entity_gateway.clone())
|
.gateway(entity_gateway.clone())
|
||||||
.build());
|
.build());
|
||||||
@ -83,36 +87,88 @@ async fn test_item_drops_with_kill_counter() {
|
|||||||
let room = ship.blocks.0[0].rooms[0].as_mut().unwrap();
|
let room = ship.blocks.0[0].rooms[0].as_mut().unwrap();
|
||||||
room.toggle_redbox_mode(); // enable redbox mode for sjs
|
room.toggle_redbox_mode(); // enable redbox mode for sjs
|
||||||
|
|
||||||
println!("room redbox mode: {:?}", room.redbox);
|
// println!("room redbox mode: {:?}", room.redbox);
|
||||||
println!("room.mode: {:?}", room.mode);
|
// println!("room.mode: {:?}", room.mode);
|
||||||
println!("killing gigue for sjs!");
|
// println!("killing gigue for sjs!");
|
||||||
let gigue_id = room.maps.get_enemy_id_by_monster_type(MonsterType::GiGue).unwrap();
|
let gigue_id = room.maps.get_enemy_id_by_monster_type(MonsterType::GiGue).unwrap();
|
||||||
println!("found gigue id: {:?}!", gigue_id);
|
// println!("found gigue id: {:?}!", gigue_id);
|
||||||
let pkts = ship.handle(ClientId(1), &RecvShipPacket::Message(Message::new(GameMessage::RequestItem(RequestItem {
|
let packets = ship.handle(ClientId(1), &RecvShipPacket::DirectMessage(DirectMessage::new(0, GameMessage::RequestItem(RequestItem {
|
||||||
client: 0,
|
client: 0,
|
||||||
target: 0,
|
target: 0,
|
||||||
map_area: 9, // seaside
|
map_area: 9, // seaside
|
||||||
pt_index: 55, // gigue ?
|
pt_index: 55, // gigue ? (taken from ingame logs)
|
||||||
enemy_id: gigue_id,
|
enemy_id: gigue_id,
|
||||||
x: 0.0,
|
x: 0.0,
|
||||||
y: 0.0,
|
y: 0.0,
|
||||||
z: 0.0,
|
z: 0.0,
|
||||||
}))))
|
})))).await.unwrap().collect::<Vec<_>>(); // this should return 1 packet (ItemDrop)?
|
||||||
.await
|
|
||||||
.unwrap()
|
|
||||||
.collect::<Vec<_>>(); // this should return 1 packet (ItemDrop)?
|
|
||||||
|
|
||||||
println!("packets returned: {:?}", pkts);
|
assert!(packets.len() == 1);
|
||||||
assert!(false);
|
match &packets[0].1 {
|
||||||
|
SendShipPacket::Message(Message {msg: GameMessage::ItemDrop(item_drop)}) => {
|
||||||
|
assert_eq!(item_drop.item_bytes[10], 0x80)
|
||||||
|
}
|
||||||
|
_ => panic!("")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// #[async_std::test]
|
#[async_std::test]
|
||||||
// async fn test_all_equipped_kill_counters_increase_per_kill() {
|
async fn test_all_equipped_kill_counters_increase_per_kill() {
|
||||||
// let mut entity_gateway = InMemoryGateway::default();
|
let mut entity_gateway = InMemoryGateway::default();
|
||||||
|
|
||||||
// let (_user1, _char1) = new_user_character(&mut entity_gateway, "a1", "a").await;
|
let (_user1, char1) = new_user_character(&mut entity_gateway, "a1", "a", 1).await;
|
||||||
|
|
||||||
// }
|
let mut ship = Box::new(ShipServerState::builder()
|
||||||
|
.gateway(entity_gateway.clone())
|
||||||
|
.build());
|
||||||
|
|
||||||
|
let mut p1_inv = Vec::new();
|
||||||
|
p1_inv.push(entity_gateway.create_item(
|
||||||
|
item::NewItemEntity {
|
||||||
|
item: item::ItemDetail::Weapon(
|
||||||
|
item::weapon::Weapon {
|
||||||
|
weapon: item::weapon::WeaponType::SealedJSword,
|
||||||
|
grind: 0,
|
||||||
|
special: None,
|
||||||
|
attrs: [None,
|
||||||
|
None,
|
||||||
|
None,],
|
||||||
|
tekked: true,
|
||||||
|
kills: Some(0),
|
||||||
|
}
|
||||||
|
),
|
||||||
|
}).await.unwrap());
|
||||||
|
p1_inv.push(entity_gateway.create_item(
|
||||||
|
item::NewItemEntity {
|
||||||
|
item: item::ItemDetail::Unit(
|
||||||
|
item::unit::Unit {
|
||||||
|
unit: item::unit::UnitType::Limiter,
|
||||||
|
modifier: None,
|
||||||
|
kills: Some(0),
|
||||||
|
}
|
||||||
|
),
|
||||||
|
}).await.unwrap());
|
||||||
|
|
||||||
|
let equipped = item::EquippedEntity {
|
||||||
|
weapon: Some(p1_inv[0].id),
|
||||||
|
armor: None,
|
||||||
|
shield: None,
|
||||||
|
unit: [Some(p1_inv[1].id), None, None, None],
|
||||||
|
mag: None,
|
||||||
|
};
|
||||||
|
entity_gateway.set_character_equips(&char1.id, &equipped).await.unwrap();
|
||||||
|
entity_gateway.set_character_inventory(&char1.id, &item::InventoryEntity::new(p1_inv)).await.unwrap();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
log_in_char(&mut ship, ClientId(1), "a1", "a").await;
|
||||||
|
join_lobby(&mut ship, ClientId(1)).await;
|
||||||
|
create_room(&mut ship, ClientId(1), "room", "").await;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// #[async_std::test]
|
// #[async_std::test]
|
||||||
// async fn test_non_equipped_kill_counter_does_not_increase() {
|
// async fn test_non_equipped_kill_counter_does_not_increase() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user