Current section

Files

Jump to
udia test support test_helpers.ex
Raw

test/support/test_helpers.ex

defmodule Udia.TestHelpers do
def insert_user(attrs \\ %{}) do
changes = attrs |> Enum.into(%{
username: "user#{Base.encode16(:crypto.strong_rand_bytes(8))}",
password: "supersecret",
})
{:ok, user_versioned} = Udia.Accounts.create_user(changes)
Map.get(user_versioned, :model)
end
def insert_post(%Udia.Accounts.User{} = user, attrs \\%{}) do
changes = attrs |> Enum.into(%{
title: "Random Title #{Base.encode16(:crypto.strong_rand_bytes(8))}",
content: "Random Content #{Base.encode16(:crypto.strong_rand_bytes(8))}",
type: "text",
})
{:ok, post_versioned} = Udia.Logs.create_post(user, changes)
Map.get(post_versioned, :model)
end
def insert_comment(%Udia.Accounts.User{} = user, %Udia.Logs.Post{} = post, attrs \\%{}) do
changes = attrs |> Enum.into(%{
post_id: post.id,
content: "Random Content #{Base.encode16(:crypto.strong_rand_bytes(8))}",
type: "text",
parent_id: nil,
journey_id: nil
})
{:ok, comment_versioned} = Udia.Logs.create_comment(user, changes)
Map.get(comment_versioned, :model)
end
def insert_journey(%Udia.Accounts.User{} = user, attrs \\%{}) do
changes = attrs |> Enum.into(%{
title: "Random Title #{Base.encode16(:crypto.strong_rand_bytes(8))}",
description: "Random Content #{Base.encode16(:crypto.strong_rand_bytes(8))}"
})
{:ok, journey_versioned} = Udia.Logs.create_journey(user, changes)
Map.get(journey_versioned, :model)
end
end