Skip to content
Snippets Groups Projects
Commit ce649966 authored by Uku Taht's avatar Uku Taht
Browse files

Fix display

parent ebdd856d
No related branches found
No related tags found
No related merge requests found
......@@ -74,8 +74,7 @@ defmodule Plausible.Billing.Plans do
def subscription_interval(subscription) do
case for_product_id(subscription.paddle_plan_id) do
nil ->
enterprise_plan =
Repo.get_by(Plausible.Billing.EnterprisePlan, user_id: subscription.user_id)
enterprise_plan = get_enterprise_plan(subscription)
enterprise_plan && enterprise_plan.billing_interval
......@@ -96,11 +95,7 @@ defmodule Plausible.Billing.Plans do
if found do
Map.fetch!(found, :limit)
else
enterprise_plan =
Repo.get_by(Plausible.Billing.EnterprisePlan,
user_id: subscription.user_id,
paddle_plan_id: subscription.paddle_plan_id
)
enterprise_plan = get_enterprise_plan(subscription)
if enterprise_plan do
enterprise_plan.monthly_pageview_limit
......@@ -114,15 +109,11 @@ defmodule Plausible.Billing.Plans do
end
end
def get_enterprise_plan(user) do
if user.subscription do
Repo.get_by(Plausible.Billing.EnterprisePlan,
user_id: user.id,
paddle_plan_id: user.subscription.paddle_plan_id
)
else
Repo.get_by(Plausible.Billing.EnterprisePlan, user_id: user.id)
end
def get_enterprise_plan(subscription) do
Repo.get_by(Plausible.Billing.EnterprisePlan,
user_id: subscription.user_id,
paddle_plan_id: subscription.paddle_plan_id
)
end
def suggested_plan(user, usage) do
......
......@@ -489,6 +489,46 @@ defmodule PlausibleWeb.AuthControllerTest do
assert html_response(conn, 200) =~ "N/A billing"
end
test "shows enterprise plan subscription", %{conn: conn, user: user} do
insert(:subscription, paddle_plan_id: "123", user: user)
insert(:enterprise_plan,
paddle_plan_id: "123",
user: user,
monthly_pageview_limit: 10_000_000,
billing_interval: :yearly
)
conn = get(conn, "/settings")
assert html_response(conn, 200) =~ "10M pageviews"
assert html_response(conn, 200) =~ "yearly billing"
end
test "shows current enterprise plan subscription when user has a new one to upgrade to", %{
conn: conn,
user: user
} do
insert(:subscription, paddle_plan_id: "123", user: user)
insert(:enterprise_plan,
paddle_plan_id: "123",
user: user,
monthly_pageview_limit: 10_000_000,
billing_interval: :yearly
)
insert(:enterprise_plan,
paddle_plan_id: "1234",
user: user,
monthly_pageview_limit: 20_000_000,
billing_interval: :yearly
)
conn = get(conn, "/settings")
assert html_response(conn, 200) =~ "10M pageviews"
assert html_response(conn, 200) =~ "yearly billing"
end
test "shows invoices for subscribed user", %{conn: conn, user: user} do
insert(:subscription,
paddle_plan_id: "558018",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment