Skip to content
This repository was archived by the owner on Sep 29, 2020. It is now read-only.

Commit 42f4795

Browse files
committed
Resolve #14 Sent referrals on Partner Dashboard should only be showin...
1 parent f1fba9c commit 42f4795

File tree

4 files changed

+50
-27
lines changed

4 files changed

+50
-27
lines changed

app/controllers/referrals_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ class ReferralsController < ApplicationController
55

66
def new
77
if @partner
8-
@referrals = @partner.referrals.by_month(Time.zone.now.month)
8+
@referrals = @partner.referrals.by_month(@date.month)
99
@used_referrals = @referrals.used
1010
@total_available = @partner.max_monthly_referrals - @used_referrals.size
1111
else

app/views/layouts/_month_picker.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
<span class="px15">
88
<%= "#{Date::MONTHNAMES[date.month]} #{Time.zone.now.year}" %>
99
</span>
10-
<%= link_to('❯', send(path, date: date - 1.month), class: 'yellow no-decoration') %>
10+
<%= link_to('❯', send(path, date: date - 1.month), class: 'yellow no-decoration', data: { turbolinks: false }) %>
1111
</div>

app/views/referrals/new.html.erb

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,43 @@
2929
</div>
3030

3131
<div class="fr1 mb20">
32-
<h2 class="bold center mb20">Sent</h2>
32+
<h2 class="bold center mb20">Used</h2>
3333
<%= tag.div(
34-
@referrals.size, id: "#{@partner.slug}-used-referrals",
34+
@used_referrals.size, id: "#{@partner.slug}-used-referrals",
3535
class: "lg stat-lg white bg-black"
3636
) %>
3737
</div>
3838

3939
</div>
4040

41-
<% if @partner.referrals.any? %>
42-
<h2 class="bold px15 maroon">Sent Referrals</h2>
41+
<% if @referrals.any? %>
42+
<div class="mb40">
43+
<h2 class="bold px15 maroon">Sent Referrals</h2>
4344

44-
<div class="row bold h2">
45-
<div class="sm fr2 truncate">Name</div>
46-
<div class="sm fr1 truncate">Status</div>
47-
<div class="sm fr1 truncate">Date</div>
48-
</div>
45+
<div class="row bold h2">
46+
<div class="sm fr2 truncate">Name</div>
47+
<div class="sm fr1 truncate">Status</div>
48+
<div class="sm fr1 truncate">Date</div>
49+
</div>
50+
51+
<% @referrals.order(created_at: :desc).each do |r| %>
4952

50-
<% @partner.referrals.order(created_at: :desc).each do |r| %>
53+
<div class="row with-border h3 mb10">
54+
<span class="sm fr2 truncate bold">
55+
<%= r.response_identifier %>
56+
</span>
57+
<%= status_text(r.last_state, classes: "sm fr1 truncate") %>
58+
<span class="sm fr1 truncate">
59+
<%= r.created_at.strftime('%d / %m / %y') %>
60+
</span>
61+
</div>
5162

52-
<div class="row with-border h3 mb10">
53-
<span class="sm fr2 truncate bold">
54-
<%= r.response_identifier %>
55-
</span>
56-
<%= status_text(r.last_state, classes: "sm fr1 truncate") %>
57-
<span class="sm fr1 truncate">
58-
<%= r.created_at.strftime('%d / %m / %y') %>
59-
</span>
63+
<% end %>
6064
</div>
65+
<% end %>
6166

62-
<% end %>
67+
<% if user_signed_in? %>
68+
<%= render(partial: 'layouts/month_picker', locals: { date: @date, path: :new_partner_referral_path }) %>
6369
<% end %>
6470

6571
<script src="https://embed.typeform.com/embed.js" type="text/javascript"></script>

test/system/partner_referral_test.rb

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,28 +73,45 @@ class PartnerReferralTest < ApplicationSystemTestCase
7373
end
7474

7575
test 'hides list if no referrals' do
76-
@user = create(:user)
77-
visit new_user_session_path
78-
sign_in
76+
sign_in_user
7977
visit new_partner_referral_path(@partner)
8078
assert_no_text('Sent Referrals')
8179
end
8280

8381
test 'shows list if logged in and referrals present' do
8482
create(:referral, partner: @partner)
85-
@user = create(:user)
86-
visit new_user_session_path
87-
sign_in
83+
sign_in_user
8884
visit new_partner_referral_path(@partner)
8985
assert_text('Sent Referrals')
9086
assert_selector('.row.with-border', count: 1)
9187
end
9288

89+
test 'month picker hidden when logged out' do
90+
visit new_partner_referral_path(@partner)
91+
assert_text(month_name, count: 1)
92+
end
93+
94+
test 'month picker shown when logged in' do
95+
sign_in_user
96+
visit new_partner_referral_path(@partner)
97+
assert_text(month_name, count: 2)
98+
end
99+
100+
def month_name
101+
Date::MONTHNAMES[Date.today.month]
102+
end
103+
93104
def send_fake_webhook_request(partner)
94105
fake_webhook_request(
95106
webhooks_new_response_path(partner.webhook_token),
96107
headers: { 'Content-Type' => 'application/json' },
97108
body: { event_id: 'LtWXD3crgy' }
98109
)
99110
end
111+
112+
def sign_in_user
113+
@user = create(:user)
114+
visit new_user_session_path
115+
sign_in
116+
end
100117
end

0 commit comments

Comments
 (0)