// test "create_action/1 kind: ability/launch" { // user = insert(:user) // commander = insert(:commander) // user_data = build(:user_data, %{ // turn: true, // user_id: user.id, // commander_id: commander.id // }) // tile_data = build(:tile_data, %{ // user_id: user_data.user_id, // ability_data: [ // build(:ability_data, %{ // ability_id: Ability.Launch.id() // }) // ] // }) // game = insert(:game, %{ // tile_data: [tile_data], // user_data: [user_data] // }) // tile_data = game.tile_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::Launch, // subject_tile_data_id: tile_data.id, // target_coords: [ // Coord {x: 0, y: 0} // ], // game_id: game.id, // user_id: user.id // }) // |> Map.from_struct() // assert {:ok, Action { // game: Game { // tile_data: [ // TileData {state: "exhausted"} // ] // } // }} = Engine.create_action(action) // }