Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
elixir 1.19.5
erlan 28.3.1
25 changes: 21 additions & 4 deletions lib/mix/tasks/token.ex
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@ defmodule Mix.Tasks.Cadet.Token do
import Ecto.Query
import IO.ANSI

alias Cadet.Accounts.{Role, User}
alias Cadet.Accounts.{CourseRegistration, Role, User}
alias Cadet.Courses.Course
alias Cadet.Auth.Guardian
alias Cadet.Repo

Expand Down Expand Up @@ -62,7 +63,8 @@ defmodule Mix.Tasks.Cadet.Token do
if Cadet.Env.env() in @env_allow_mock do
user =
User
|> where(role: ^role)
|> join(:inner, [u], cr in "course_registrations", on: u.id == cr.user_id)
|> where([u, cr], cr.role == ^role)
|> first
|> Repo.one()

Comment on lines 63 to 70

This comment was marked as outdated.

Expand All @@ -71,9 +73,24 @@ defmodule Mix.Tasks.Cadet.Token do
else
role_capitalized = String.capitalize("#{role}")

%User{}
|> User.changeset(%{name: "Test#{role_capitalized}", role: role})
course = case Repo.one(Course) do
course -> course
nil ->

This comment was marked as outdated.

%Course{}
|> Course.changeset(%{title: "Test Course", source_chapter: 1, source_variant: "default"})
|> Repo.insert!()
end

new_user =
%User{}
|> User.changeset(%{name: "Test#{role_capitalized}", username: "test_#{role}", provider: "test"})
|> Repo.insert!()

%CourseRegistration{}
|> CourseRegistration.changeset(%{user_id: new_user.id, course_id: course.id, role: role})
|> Repo.insert!()

new_user
end
end
end
Expand Down
Loading