diff --git a/app/views/user_upgrades/_stripe_links.html.erb b/app/views/user_upgrades/_stripe_links.html.erb new file mode 100644 index 000000000..7aa57743d --- /dev/null +++ b/app/views/user_upgrades/_stripe_links.html.erb @@ -0,0 +1,9 @@ +<%# user_upgrade %> + +<% if policy(user_upgrade).receipt? %> + <%= link_to "View Receipt", receipt_user_upgrade_path(user_upgrade), target: "_blank" %> +<% end %> + +<% if policy(user_upgrade).payment? %> + | <%= link_to "View Payment", payment_user_upgrade_path(user_upgrade), target: "_blank" %> +<% end %> diff --git a/app/views/user_upgrades/show.html.erb b/app/views/user_upgrades/show.html.erb index 1b342ba96..a81978fc5 100644 --- a/app/views/user_upgrades/show.html.erb +++ b/app/views/user_upgrades/show.html.erb @@ -9,12 +9,15 @@
<%= link_to_user @user_upgrade.purchaser %> has upgraded your account to <%= @user_upgrade.level_string %>. Enjoy your new account!
<% elsif @user_upgrade.is_gift? && CurrentUser.user == @user_upgrade.purchaser %> @@ -35,13 +38,13 @@You are now a <%= @user_upgrade.level_string %> user. Thanks for supporting the site! A receipt has been sent to your email.
<% end %> - <% if policy(@user_upgrade).receipt? %> - <%= link_to "View Receipt", receipt_user_upgrade_path(@user_upgrade), target: "_blank" %> - <% end %> + <%= render "stripe_links", user_upgrade: @user_upgrade %> + <% elsif @user_upgrade.refunded? %> +This purchase has been refunded. A receipt has been sent to your email. It can take up to + 5-10 days for the refund to appear on your credit card or bank statement. If it takes longer, + please contact your bank for assistance.
- <% if policy(@user_upgrade).payment? %> - | <%= link_to "View Payment", payment_user_upgrade_path(@user_upgrade), target: "_blank" %> - <% end %> + <%= render "stripe_links", user_upgrade: @user_upgrade %> <% else %> <%= content_for :html_header do %> diff --git a/test/functional/user_upgrades_controller_test.rb b/test/functional/user_upgrades_controller_test.rb index d396c0d1c..9dc90da51 100644 --- a/test/functional/user_upgrades_controller_test.rb +++ b/test/functional/user_upgrades_controller_test.rb @@ -123,6 +123,15 @@ class UserUpgradesControllerTest < ActionDispatch::IntegrationTest end end + context "for a refunded upgrade" do + should "render" do + @user_upgrade = create(:self_gold_upgrade, status: "refunded") + get_auth user_upgrade_path(@user_upgrade), @user_upgrade.purchaser + + assert_response :success + end + end + context "for a pending upgrade" do should "render" do @user_upgrade = create(:self_gold_upgrade, status: "pending")