Hide contributor terms details, unless the user hasn't agreed
It's no longer important to show when users agreed to the contributor terms. For users that haven't agreed, we still show their status on their profile. Logic was also re-written to avoid lots of `if not` things, and tests added.
This commit is contained in:
parent
5d740d8733
commit
cbf71f04c2
2 changed files with 36 additions and 8 deletions
|
@ -141,14 +141,14 @@
|
||||||
<p class='deemphasize'>
|
<p class='deemphasize'>
|
||||||
<small>
|
<small>
|
||||||
<%= t 'user.view.mapper since' %> <%= l @this_user.creation_time.to_date, :format => :long %>
|
<%= t 'user.view.mapper since' %> <%= l @this_user.creation_time.to_date, :format => :long %>
|
||||||
|
|
<% unless @this_user.terms_agreed %>
|
||||||
<%= t 'user.view.ct status' %>
|
|
|
||||||
<% if not @this_user.terms_agreed.nil? -%>
|
<%= t 'user.view.ct status' %>
|
||||||
<%= t 'user.view.ct accepted', :ago =>time_ago_in_words(@this_user.terms_agreed) %>
|
<% if @this_user.terms_seen? -%>
|
||||||
<% elsif not @this_user.terms_seen? -%>
|
<%= t 'user.view.ct declined' %>
|
||||||
<%= t 'user.view.ct undecided' %>
|
<% else -%>
|
||||||
<% else -%>
|
<%= t 'user.view.ct undecided' %>
|
||||||
<%= t 'user.view.ct declined' %>
|
<% end -%>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
</small>
|
</small>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -1007,6 +1007,34 @@ class UserControllerTest < ActionController::TestCase
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Test whether information about contributor terms is shown for users who haven't agreed
|
||||||
|
def test_terms_not_agreed
|
||||||
|
agreed_user = create(:user, :terms_agreed => 3.days.ago)
|
||||||
|
seen_user = create(:user, :terms_seen => true)
|
||||||
|
not_seen_user = create(:user, :terms_seen => false)
|
||||||
|
|
||||||
|
get :view, :params => { :display_name => agreed_user.display_name }
|
||||||
|
assert_response :success
|
||||||
|
assert_select "div#userinformation" do
|
||||||
|
assert_select "p", :count => 0, :text => /Contributor terms/
|
||||||
|
end
|
||||||
|
|
||||||
|
get :view, :params => { :display_name => seen_user.display_name }
|
||||||
|
assert_response :success
|
||||||
|
# put @response.body
|
||||||
|
assert_select "div#userinformation" do
|
||||||
|
assert_select "p", :count => 1, :text => /Contributor terms/
|
||||||
|
assert_select "p", /Declined/
|
||||||
|
end
|
||||||
|
|
||||||
|
get :view, :params => { :display_name => not_seen_user.display_name }
|
||||||
|
assert_response :success
|
||||||
|
assert_select "div#userinformation" do
|
||||||
|
assert_select "p", :count => 1, :text => /Contributor terms/
|
||||||
|
assert_select "p", /Undecided/
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def test_api_read
|
def test_api_read
|
||||||
user = create(:user, :description => "test", :terms_agreed => Date.yesterday)
|
user = create(:user, :description => "test", :terms_agreed => Date.yesterday)
|
||||||
# check that a visible user is returned properly
|
# check that a visible user is returned properly
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue