shift73k/test/shift73k/shift_templates_test.exs

112 lines
3.8 KiB
Elixir
Raw Normal View History

2021-03-11 16:57:20 -05:00
defmodule Shift73k.Shifts.TemplatesTest do
use Shift73k.DataCase
2021-03-11 16:57:20 -05:00
alias Shift73k.Shifts.Templates
import Shift73k.AccountsFixtures
describe "shift_templates" do
2021-03-11 16:57:20 -05:00
alias Shift73k.Shifts.Templates.ShiftTemplate
2021-03-11 16:57:20 -05:00
@valid_attrs %{
description: "some description",
location: "some location",
time_start: ~T[08:00:00],
time_end: ~T[16:00:00],
subject: "some subject",
time_zone: "America/New_York"
2021-03-11 16:57:20 -05:00
}
@update_attrs %{
description: "some updated description",
location: "some updated location",
time_start: ~T[13:00:00],
time_end: ~T[19:30:00],
subject: "some updated subject",
time_zone: "America/Chicago"
2021-03-11 16:57:20 -05:00
}
@invalid_attrs %{
description: nil,
location: nil,
time_start: nil,
time_end: nil,
subject: nil,
time_zone: nil
}
def shift_template_fixture(attrs \\ %{}) do
user = user_fixture()
attrs = attrs |> Map.put(:user_id, user.id)
{:ok, shift_template} =
attrs
|> Enum.into(@valid_attrs)
2021-03-11 16:57:20 -05:00
|> Templates.create_shift_template()
shift_template
end
test "list_shift_templates/0 returns all shift_templates" do
shift_template = shift_template_fixture()
2021-03-11 16:57:20 -05:00
assert Templates.list_shift_templates() == [shift_template]
end
test "get_shift_template!/1 returns the shift_template with given id" do
shift_template = shift_template_fixture()
2021-03-11 16:57:20 -05:00
assert Templates.get_shift_template!(shift_template.id) == shift_template
end
test "create_shift_template/1 with valid data creates a shift_template" do
user = user_fixture()
shift_template_attrs = @valid_attrs |> Map.put(:user_id, user.id)
2021-03-11 16:57:20 -05:00
assert {:ok, %ShiftTemplate{} = shift_template} =
Templates.create_shift_template(shift_template_attrs)
2021-03-11 16:57:20 -05:00
assert shift_template.description == "some description"
assert shift_template.location == "some location"
assert shift_template.time_start == ~T[08:00:00]
assert shift_template.time_end == ~T[16:00:00]
assert shift_template.subject == "some subject"
assert shift_template.time_zone == "America/New_York"
end
test "create_shift_template/1 with invalid data returns error changeset" do
2021-03-11 16:57:20 -05:00
assert {:error, %Ecto.Changeset{}} = Templates.create_shift_template(@invalid_attrs)
end
test "update_shift_template/2 with valid data updates the shift_template" do
shift_template = shift_template_fixture()
2021-03-11 16:57:20 -05:00
assert {:ok, %ShiftTemplate{} = shift_template} =
Templates.update_shift_template(shift_template, @update_attrs)
assert shift_template.description == "some updated description"
assert shift_template.location == "some updated location"
assert shift_template.time_start == ~T[13:00:00]
2021-03-11 13:30:30 -05:00
assert shift_template.time_end == ~T[19:30:00]
assert shift_template.subject == "some updated subject"
assert shift_template.time_zone == "America/Chicago"
end
test "update_shift_template/2 with invalid data returns error changeset" do
shift_template = shift_template_fixture()
2021-03-11 16:57:20 -05:00
assert {:error, %Ecto.Changeset{}} =
Templates.update_shift_template(shift_template, @invalid_attrs)
assert shift_template == Templates.get_shift_template!(shift_template.id)
end
test "delete_shift_template/1 deletes the shift_template" do
shift_template = shift_template_fixture()
2021-03-11 16:57:20 -05:00
assert {:ok, %ShiftTemplate{}} = Templates.delete_shift_template(shift_template)
assert_raise Ecto.NoResultsError, fn ->
Templates.get_shift_template!(shift_template.id)
end
end
test "change_shift_template/1 returns a shift_template changeset" do
shift_template = shift_template_fixture()
2021-03-11 16:57:20 -05:00
assert %Ecto.Changeset{} = Templates.change_shift_template(shift_template)
end
end
end