// 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)
    // }