2022-07-25 20:08:40 -04:00
|
|
|
defmodule Memex.NotesFixtures do
|
|
|
|
@moduledoc """
|
|
|
|
This module defines test helpers for creating
|
|
|
|
entities via the `Memex.Notes` context.
|
|
|
|
"""
|
2022-11-26 14:51:18 -05:00
|
|
|
import Memex.Fixtures
|
2022-11-17 22:38:52 -05:00
|
|
|
alias Memex.{Accounts.User, Notes, Notes.Note}
|
2022-07-25 20:08:40 -04:00
|
|
|
|
|
|
|
@doc """
|
|
|
|
Generate a note.
|
|
|
|
"""
|
2022-11-17 22:38:52 -05:00
|
|
|
@spec note_fixture(User.t()) :: Note.t()
|
|
|
|
@spec note_fixture(attrs :: map(), User.t()) :: Note.t()
|
|
|
|
def note_fixture(attrs \\ %{}, user) do
|
2022-07-25 20:08:40 -04:00
|
|
|
{:ok, note} =
|
|
|
|
attrs
|
|
|
|
|> Enum.into(%{
|
|
|
|
content: "some content",
|
2022-12-15 22:33:10 -05:00
|
|
|
tags: ["example-tag"],
|
2022-11-26 14:51:18 -05:00
|
|
|
slug: random_slug(),
|
2022-11-17 22:38:52 -05:00
|
|
|
visibility: :private
|
2022-07-25 20:08:40 -04:00
|
|
|
})
|
2022-11-17 22:38:52 -05:00
|
|
|
|> Notes.create_note(user)
|
2022-07-25 20:08:40 -04:00
|
|
|
|
2022-12-19 22:29:26 -05:00
|
|
|
%{note | tags_string: nil}
|
2022-07-25 20:08:40 -04:00
|
|
|
end
|
|
|
|
end
|