defmodule BDS.TemplatesTest do
use ExUnit.Case, async: false
setup do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(BDS.Repo)
{:ok, project} = BDS.Projects.create_project(%{name: "Templates"})
%{project: project}
end
test "create_template creates a draft template with slug deduplication", %{project: project} do
assert {:ok, template} =
BDS.Templates.create_template(%{
project_id: project.id,
title: "Article View",
kind: :post,
content: "{{ content }}"
})
assert template.slug == "article-view"
assert template.status == :draft
assert template.enabled == true
assert template.version == 1
assert template.file_path == ""
assert template.content == "{{ content }}"
assert {:ok, duplicate} =
BDS.Templates.create_template(%{project_id: project.id, title: "Article View", kind: :post, content: "x"})
assert duplicate.slug == "article-view-2"
end
end