Skip to content

Commit 61dc3c3

Browse files
committed
Fix
1 parent d5dee8b commit 61dc3c3

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

apps/codebattle/lib/codebattle_web/controllers/support_tournament_controller.ex

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ defmodule CodebattleWeb.SupportTournamentController do
44
alias Codebattle.SupportTournament
55

66
plug(:put_view, CodebattleWeb.SupportTournamentView)
7+
plug(:ensure_feature_enabled)
78
plug(:authorize)
89

910
def index(conn, params) do
@@ -40,6 +41,18 @@ defmodule CodebattleWeb.SupportTournamentController do
4041
)
4142
end
4243

44+
defp ensure_feature_enabled(conn, _opts) do
45+
if FunWithFlags.enabled?(:support_tournament_page) do
46+
conn
47+
else
48+
conn
49+
|> put_status(:not_found)
50+
|> put_view(CodebattleWeb.ErrorView)
51+
|> render("404.html")
52+
|> halt()
53+
end
54+
end
55+
4356
defp authorize(conn, _opts) do
4457
expected_token = Application.get_env(:codebattle, :support_tournament_auth_token)
4558
provided_token = token_from_conn(conn)

apps/codebattle/test/codebattle_web/controllers/support_tournament_controller_test.exs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,30 @@ defmodule CodebattleWeb.SupportTournamentControllerTest do
66
alias Codebattle.SupportTournament
77
alias Codebattle.UserGroupTournament
88

9+
setup do
10+
FunWithFlags.disable(:support_tournament_page)
11+
12+
on_exit(fn -> FunWithFlags.disable(:support_tournament_page) end)
13+
end
14+
915
describe "GET /support-tournament" do
16+
test "returns not found when feature flag is disabled", %{conn: conn} do
17+
conn = get(conn, "/support-tournament?auth_token=support-token")
18+
19+
assert html_response(conn, 404) =~ "Page not found"
20+
end
21+
1022
test "returns not found without auth token", %{conn: conn} do
23+
FunWithFlags.enable(:support_tournament_page)
24+
1125
conn = get(conn, "/support-tournament")
1226

1327
assert html_response(conn, 404) =~ "Page not found"
1428
end
1529

1630
test "shows configured tournament info for a user", %{conn: conn} do
31+
FunWithFlags.enable(:support_tournament_page)
32+
1733
user = insert(:user, name: "Support User", clan: "Hexlet", clan_id: 42)
1834

1935
tournament =

0 commit comments

Comments
 (0)