GUIDES
GUIDESDOCS
GUIDES
These docs are for v0.7.1. Click to read the latest docs for v0.13.

Maru.Test only works with designated Maru.Router, so if you want to test a router named API, you should use Maru.Test like this:

defmodule API do
  use Maru.Router

  get do
    ...
  end
end

defmodule APITest do
  use Maru.Test, for: API

  test "/" do
    assert %Plug.Conn{} = conn(:get, "/") |> make_response
  end
end

Test router include multiple versions

defmodule API do
  use Maru.Router

  version "v1" do
    get do
      ...
    end	
  end
  
  version "v2" do
    get do
      ...
    end	
  end
end

defmodule APITest do
  use Maru.Test, for: API

  test "/ v1" do
    assert %Plug.Conn{} = conn(:get, "/") |> make_response("v1")
  end

  test "/ v2" do
    assert %Plug.Conn{} = conn(:get, "/") |> make_response("v2")
  end
end