// test "create_action/1 kind: ability/stealth" { // user = insert(:user) // commander = insert(:commander) // user_data = build(:user_data, %{ // turn: true, // user_id: user.id, // commander_id: commander.id // }) // sub_data = unit_data(AWDS.sub(), %{ // user_id: user_data.user_id, // fuel: 100 // }) // game = insert(:game, %{ // user_data: [user_data], // unit_data: [sub_data] // }) // sub_data = game.unit_data |> Enum.at(0) // insert(:game_user, %{game: game, faction: 1}) // insert(:game_user, %{game: game, faction: 2}) // action = build(:action, %{ // kind: "ability", // ability_id: AbilityKind::Stealth, // subject_unit_data_id: sub_data.id, // game_id: game.id, // user_id: user.id // }) // |> Map.from_struct() // assert {:ok, Action { // game: Game { // unit_data: [ // UnitData { // id: sub_data_id, // fuel: 100, // ability_data: [ // AbilityData {ability_id: ability_id, active: true} // ] // } // ] // } // }} = Engine.create_action(action) // assert sub_data.id == sub_data_id // assert Ability.Stealth.id() == ability_id // }