mirror of
https://github.com/ash-project/ash_json_api_wrapper.git
synced 2024-09-20 05:12:51 +12:00
51 lines
1,023 B
Elixir
51 lines
1,023 B
Elixir
|
defmodule AshJsonApiWrapper.OpenApi.PetstoreTest do
|
||
|
use ExUnit.Case
|
||
|
|
||
|
require Ash.Query
|
||
|
|
||
|
@json "test/support/pet_store.json" |> File.read!() |> Jason.decode!()
|
||
|
|
||
|
defmodule TestingTesla do
|
||
|
use Tesla
|
||
|
|
||
|
# plug(Tesla.Middleware.Headers, [
|
||
|
# {"authorization", "Bearer xxx"}
|
||
|
# ])
|
||
|
end
|
||
|
|
||
|
@config [
|
||
|
tesla: TestingTesla,
|
||
|
endpoint: "https://petstore3.swagger.io/api/v3",
|
||
|
resources: [
|
||
|
"Petstore.Order": [
|
||
|
path: "/store/order/{orderId}",
|
||
|
object_type: "components.schemas.Order",
|
||
|
primary_key: "id",
|
||
|
# entity_path: "",
|
||
|
fields: [
|
||
|
orderId: [
|
||
|
filter_handler: {:place_in_csv_list, ["id"]}
|
||
|
]
|
||
|
]
|
||
|
]
|
||
|
]
|
||
|
]
|
||
|
|
||
|
defmodule Api do
|
||
|
use Ash.Api
|
||
|
|
||
|
resources do
|
||
|
allow_unregistered? true
|
||
|
end
|
||
|
end
|
||
|
|
||
|
test "it does stuff" do
|
||
|
@json
|
||
|
|> AshJsonApiWrapper.OpenApi.ResourceGenerator.generate(@config)
|
||
|
|> Enum.map(fn {resource, code} ->
|
||
|
Code.eval_string(code)
|
||
|
resource
|
||
|
end)
|
||
|
end
|
||
|
end
|