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

Commit bceebbd

Browse files
authored
v0.1.3
Merge pull request #15 from TechforgoodCAST/dev
2 parents 407e2f2 + 42f4795 commit bceebbd

File tree

7 files changed

+54
-31
lines changed

7 files changed

+54
-31
lines changed

Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ GEM
143143
rb-fsevent (~> 0.9, >= 0.9.4)
144144
rb-inotify (~> 0.9, >= 0.9.7)
145145
ruby_dep (~> 1.2)
146-
loofah (2.2.2)
146+
loofah (2.2.3)
147147
crass (~> 1.0.2)
148148
nokogiri (>= 1.5.9)
149149
mail (2.7.0)
@@ -159,7 +159,7 @@ GEM
159159
multi_json (1.13.1)
160160
multipart-post (2.0.0)
161161
nio4r (2.3.1)
162-
nokogiri (1.8.4)
162+
nokogiri (1.8.5)
163163
mini_portile2 (~> 2.3.0)
164164
orm_adapter (0.5.0)
165165
pg (1.1.3)

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/models/partner.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
class Partner < ApplicationRecord
2-
has_many :referrals
2+
has_many :referrals, dependent: :destroy
33

44
has_secure_token :webhook_token
55

app/models/referral.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ class Referral < ApplicationRecord
44
belongs_to :partner
55
acts_as_sequenced scope: :partner_id
66

7-
has_many :reviews
7+
has_many :reviews, dependent: :destroy
88

99
validates :last_state, inclusion: { in: STATES }
1010
validates :original_response, presence: true

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)