File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed
lib/epochtalk_server/models
test/epochtalk_server_web/controllers Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -84,6 +84,14 @@ defmodule EpochtalkServer.Models.User do
8484 """
8585 @ spec registration_changeset ( user :: t ( ) , attrs :: map ( ) | nil ) :: Ecto.Changeset . t ( )
8686 def registration_changeset ( user , attrs ) do
87+ now = NaiveDateTime . truncate ( NaiveDateTime . utc_now ( ) , :second )
88+
89+ # set timestamps
90+ user =
91+ user
92+ |> Map . put ( :created_at , now )
93+ |> Map . put ( :updated_at , now )
94+
8795 user
8896 |> cast ( attrs , [
8997 :id ,
Original file line number Diff line number Diff line change 11defmodule Test.EpochtalkServerWeb.Controllers.User do
22 use Test.Support.ConnCase , async: true
3+ # for mocking,
4+ use Mimic
35 import Ecto.Changeset
46 alias EpochtalkServer.Models.User
57 alias EpochtalkServer.Models.Ban
@@ -82,13 +84,18 @@ defmodule Test.EpochtalkServerWeb.Controllers.User do
8284 password: "password"
8385 }
8486
87+ mocked_date = ~N[ 2000-01-01 00:00:00.000000]
88+ expect ( NaiveDateTime , :utc_now , fn -> mocked_date end )
89+
8590 response =
8691 conn
8792 |> post ( Routes . user_path ( conn , :register , register_attrs ) )
8893 |> json_response ( 200 )
8994
9095 { :ok , registered_user } = User . by_username ( register_attrs . username )
9196 assert response [ "id" ] == registered_user . id
97+ assert registered_user . created_at == mocked_date |> NaiveDateTime . truncate ( :second )
98+ assert registered_user . updated_at == mocked_date |> NaiveDateTime . truncate ( :second )
9299 end
93100
94101 test "when email is already taken, errors" , % {
You can’t perform that action at this time.
0 commit comments