Slide 126
Slide 126 text
test "user can edit notes", %{conn: conn} do
todo = create_todo(text: "Decide fate of the ring")
notes = "We might have to cast it into mount doom"
{:ok, view, _html} = live(conn, "/todo")
view
|> open_todo_details(todo)
# Opening editable notes
view
|> element("#todo-#{todo.id}-details [data-role=edit-todo-notes]", "Edit notes")
|> render_click()
# Add notes
view
|> form("#todo-#{todo.id}-details [data-role=update-todo-notes]", todo: %{notes: notes})
|> render_submit()
assert has_element?(view, "#todo-#{todo.id}-details [data-role=todo-notes]", notes)
assert has_element?(view, "#todo-#{todo.id} [data-role=notes-icon]")
end
defp open_todo_details(view, todo) do
view
|> element("#todo-#{todo.id} [data-role=todo-text]", todo.text)
|> render_click()
view
end