mobilizon/test/support/fixtures/applications_fixtures.ex

65 lines
1.5 KiB
Elixir

defmodule Mobilizon.ApplicationsFixtures do
@moduledoc """
This module defines test helpers for creating
entities via the `Mobilizon.Applications` context.
"""
import Mobilizon.Factory
@doc """
Generate a application.
"""
def application_fixture(attrs \\ %{}) do
{:ok, application} =
attrs
|> Enum.into(%{
name: "some name",
client_id: "hello",
client_secret: "secret",
redirect_uris: ["somewhere", "else"],
scope: "read"
})
|> Mobilizon.Applications.create_application()
application
end
@doc """
Generate a application_token.
"""
def application_token_fixture(attrs \\ %{}) do
user = insert(:user)
{:ok, application_token} =
attrs
|> Enum.into(%{
application_id: application_fixture().id,
user_id: user.id,
authorization_code: "some code",
scope: "read",
status: :pending
})
|> Mobilizon.Applications.create_application_token()
application_token
end
@doc """
Generate a application_device_activation.
"""
def application_device_activation_fixture(attrs \\ %{}) do
{:ok, application_device_activation} =
attrs
|> Enum.into(%{
user_code: "hello",
device_code: "computers",
expires_in: 600,
application_id: application_fixture().id,
scope: "read"
})
|> Mobilizon.Applications.create_application_device_activation()
application_device_activation
end
end