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