Skip to content

Commit c6757e3

Browse files
landongrindheimjoshsmith
authored andcommitted
Add tests for StripeConnectSubscriptionController.show/2
1 parent f28ba34 commit c6757e3

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

lib/code_corps/model/stripe_connect_subscription.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ defmodule CodeCorps.StripeConnectSubscription do
6363
:quantity, :stripe_connect_plan_id, :user_id
6464
]
6565

66+
@spec create_changeset(CodeCorps.StripeConnectPlan.t, map) :: Ecto.Changeset.t
6667
def create_changeset(struct, params \\ %{}) do
6768
struct
6869
|> cast(params, @permitted_params)
@@ -74,6 +75,7 @@ defmodule CodeCorps.StripeConnectSubscription do
7475

7576
@update_params [:cancelled_at, :current_period_end, :current_period_start, :ended_at, :quantity, :start, :status]
7677

78+
@spec webhook_update_changeset(CodeCorps.StripeConnectPlan.t, map) :: Ecto.Changeset.t
7779
def webhook_update_changeset(struct, params \\ %{}) do
7880
struct
7981
|> cast(params, @update_params)

test/lib/code_corps_web/controllers/stripe_connect_subscription_controller_test.exs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,35 @@ defmodule CodeCorpsWeb.StripeConnectSubscriptionControllerTest do
5050
assert conn |> request_create |> json_response(403)
5151
end
5252
end
53+
54+
describe "show" do
55+
@tag :authenticated
56+
test "shows resource when authenticated and authorized", %{conn: conn, current_user: current_user} do
57+
stripe_connect_plan = insert(:stripe_connect_plan)
58+
stripe_connect_subscription =
59+
insert(:stripe_connect_subscription, user: current_user, stripe_connect_plan: stripe_connect_plan)
60+
61+
conn
62+
|> request_show(stripe_connect_subscription)
63+
|> json_response(200)
64+
|> assert_id_from_response(stripe_connect_subscription.id)
65+
end
66+
67+
test "renders 401 when unauthenticated", %{conn: conn} do
68+
stripe_connect_subscription = insert(:stripe_connect_subscription)
69+
70+
assert conn |> request_show(stripe_connect_subscription) |> json_response(401)
71+
end
72+
73+
@tag :authenticated
74+
test "renders 403 when not authorized", %{conn: conn} do
75+
stripe_connect_subscription = insert(:stripe_connect_subscription)
76+
assert conn |> request_show(stripe_connect_subscription) |> json_response(403)
77+
end
78+
79+
@tag :authenticated
80+
test "renders 404 when record not found", %{conn: conn} do
81+
assert conn |> request_show(:not_found) |> json_response(404)
82+
end
83+
end
5384
end

0 commit comments

Comments
 (0)