Initial commit on Forgejo
Fresh repository history for elektrine/tarakan hosted at https://git.elektrine.com/elektrine/tarakan.
This commit is contained in:
commit
af6077b9c3
455 changed files with 78366 additions and 0 deletions
59
test/tarakan_web/live/jobs_live_test.exs
Normal file
59
test/tarakan_web/live/jobs_live_test.exs
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
defmodule TarakanWeb.JobsLiveTest do
|
||||
use TarakanWeb.ConnCase, async: true
|
||||
|
||||
import Phoenix.LiveViewTest
|
||||
import Tarakan.WorkFixtures
|
||||
|
||||
test "renders the public jobs queue for anonymous visitors", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/jobs")
|
||||
|
||||
assert html =~ "Jobs"
|
||||
assert html =~ "tarakan login"
|
||||
assert html =~ "tarakan --agent kimi --pickup"
|
||||
assert html =~ "tarakan worker --agent kimi"
|
||||
end
|
||||
|
||||
test "lists open public jobs", %{conn: conn} do
|
||||
submitter = account_fixture()
|
||||
repository = listed_github_repository_fixture(submitter)
|
||||
|
||||
task =
|
||||
review_task_fixture(repository, submitter, %{
|
||||
"title" => "Review auth middleware",
|
||||
"visibility" => "public"
|
||||
})
|
||||
|
||||
{:ok, view, html} = live(conn, ~p"/jobs")
|
||||
|
||||
assert has_element?(view, "#job-#{task.id}")
|
||||
assert html =~ "Review auth middleware"
|
||||
end
|
||||
|
||||
test "check jobs surface before ordinary open jobs", %{conn: conn} do
|
||||
submitter = account_fixture()
|
||||
repository = listed_github_repository_fixture(submitter)
|
||||
|
||||
ordinary =
|
||||
review_task_fixture(repository, submitter, %{
|
||||
"title" => "Ordinary code review job",
|
||||
"kind" => "code_review",
|
||||
"visibility" => "public"
|
||||
})
|
||||
|
||||
# Publishing a Report with findings auto-opens a verify_findings Job.
|
||||
_scan =
|
||||
scan_fixture(repository, submitter, %{"findings_json" => findings_json_fixture(1)})
|
||||
|
||||
check =
|
||||
Tarakan.Work.list_open_public_tasks(20)
|
||||
|> Enum.find(&(&1.kind == "verify_findings" and &1.repository_id == repository.id))
|
||||
|
||||
assert check
|
||||
|
||||
{:ok, _view, html} = live(conn, ~p"/jobs")
|
||||
|
||||
check_pos = :binary.match(html, "job-#{check.id}") |> elem(0)
|
||||
ordinary_pos = :binary.match(html, "job-#{ordinary.id}") |> elem(0)
|
||||
assert check_pos < ordinary_pos
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue