pugin 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: febc48d95711e46c7655331803cd21a99f6abac3
4
- data.tar.gz: f922b607f64643d1ba90d1d3bd164d97faf8065b
3
+ metadata.gz: 8dac6bcc0d2b09d29aac46e0e7ed1a1e6f764cda
4
+ data.tar.gz: 1561a7f11e4aa36c3019b671848ffc288dfd3853
5
5
  SHA512:
6
- metadata.gz: f6dcda9d6e9c03876dcac3b2d5d77a35797eee6b24f471bd0167cb70266d9e55a05184c6120a288a7633b83d90a73936496bdf34a60056732c632d751553d6bb
7
- data.tar.gz: 60c5d87d2d3e166af7b5482874c6f921fd6ffed0bdf84f0228a75318975c43cbce318a520b991e800ebb649e6b6464ebbb07c7f6f32af837d2c019da7f5d7b78
6
+ metadata.gz: ffa4ee3787a25699378037edd3ce2edb924d72b95c455cad42a53c067e6812b6bc97188738b32b1bee8e3d75ac7c117c945e18274d2cb64393db2fbecc066e58
7
+ data.tar.gz: af8fb5067f17c8aa34af6d80c0cf7286ccde0a6c3c122b93e7dd74ddf6576a11738a5ac6b06634b10a9251cfdcb3547bb8a5ebe3b9782b8e022087a8baffb405
@@ -1,7 +1,9 @@
1
1
  -if people.empty?
2
2
  %ol.list--box
3
3
  %li
4
- %p= I18n.t('no_content.empty_list.members.description', letter: letter.upcase)
4
+ %p
5
+ = "#{I18n.t('no_content.empty_list.members.description')}"
6
+ = params[:letter].nil? ? "" : "#{I18n.t('no_content.empty_list.members.for')} '#{params[:letter].upcase}'"
5
7
  -else
6
8
  %ol.list--box
7
9
  - people.each do |person|
@@ -9,7 +9,6 @@
9
9
  - unless letter == params[:letter]
10
10
  = navigation_link(route_symbol: route_symbol, letter: letter, primary_id: local_assigns.fetch(:primary_id, nil), secondary_id: local_assigns.fetch(:secondary_id, nil))
11
11
  - else
12
- = letter
12
+ %span= letter
13
13
  - else
14
- = letter
15
-
14
+ %span= letter
@@ -8,7 +8,7 @@
8
8
  - if defined?(FlagHelper.register_to_vote?) && FlagHelper.register_to_vote?
9
9
  %a{ href: 'https://www.gov.uk/register-to-vote' }= I18n.t('pugin.components.status.register_to_vote')
10
10
  = I18n.t('pugin.components.status.election_text_1')
11
- - else
11
+ - else
12
12
  = I18n.t('pugin.components.status.election_text_2')
13
-
14
-
13
+ %a{ href: 'http://www.parliament.uk/get-involved/elections/voting/', target: '_blank', title: I18n.t('open_new_window')}= I18n.t('pugin.components.status.how_to_vote')
14
+ = I18n.t('pugin.components.status.election_text_3')
@@ -1,3 +1,8 @@
1
- - constituency_status = data.current? ? "current" : "former"
2
- %li.list__item
3
- = render partial: "pugin/constituencies/list/#{constituency_status}/#{constituency_status}_constituency", locals: { constituency: local_assigns.fetch(:data, []) }
1
+ %li
2
+ - if constituencies.current?
3
+ %h2= link_to(constituencies.name, constituency_path(constituencies.graph_id))
4
+ //- Constituency has a member? TRUE = Member's Name : FALSE = "Vacant" text
5
+ %p= constituencies.members.empty? ? I18n.t('pugin.constituencies.list.current.vacant').capitalize : constituencies.members.first.display_name
6
+ - else
7
+ %h2= link_to constituencies.name, constituency_path(constituencies.graph_id)
8
+ %p= "#{t('former').capitalize} #{t('constituency')}"
@@ -1,6 +1,5 @@
1
- %ul
2
- %li= link_to(constituency.name, constituency_path(constituency.graph_id))
3
- - if constituency.members.empty?
4
- %li= t('constituencies.shared_translations.vacant_by_election').capitalize
5
- - else
6
- %li= constituency.members.first.display_name
1
+ %h2= link_to(constituency.name, constituency_path(constituency.graph_id))
2
+ - if constituency.members.empty?
3
+ %p= I18n.t('pugin.constituencies.list.current.vacant').capitalize
4
+ - else
5
+ %p= constituency.members.first.display_name
@@ -1,3 +1,2 @@
1
- %ul
2
- %li= link_to constituency.name, constituency_path(constituency.graph_id)
3
- %li= constituency.current? ? "#{t('current').capitalize} #{t('constituency')}" : "#{t('former').capitalize} #{t('constituency')}"
1
+ %h2= link_to constituency.name, constituency_path(constituency.graph_id)
2
+ %p= constituency.current? ? "#{t('current').capitalize} #{t('constituency')}" : "#{t('former').capitalize} #{t('constituency')}"
@@ -1,7 +1,7 @@
1
1
  - list_tag = local_assigns.fetch(:ordered?, false) ? :ol : :ul
2
- = content_tag(list_tag, class: "list") do
2
+ = content_tag(list_tag, class: "list--box") do
3
3
  - if data.empty?
4
- %li.list__item
4
+ %li
5
5
  %p= t('no_content.empty_list.members.description', letter: params[:letter])
6
6
  - else
7
- = render partial: "pugin/#{item_type}/list/list", collection: local_assigns.fetch(:data, []), as: :data
7
+ = render partial: "pugin/#{item_type}/list/list", collection: local_assigns.fetch(:data, []), as: item_type.to_sym
@@ -9,10 +9,12 @@ en:
9
9
  status:
10
10
  status_text_1: 'This is a test website, so may be inaccurate.'
11
11
  status_text_2: 'to help improve it.'
12
- election_text_1: 'in the General Election by 22 May.'
13
- election_text_2: 'Remember to vote in the general election on 8th June.'
12
+ election_text_1: 'in the general election by 22 May.'
13
+ election_text_2: 'Find out'
14
+ election_text_3: 'in the general election on 8 June.'
14
15
  give_feedback: 'Give feedback'
15
16
  register_to_vote: 'Register to vote'
17
+ how_to_vote: 'how to vote'
16
18
  footer:
17
19
  uk_parliament: "UK Parliament"
18
20
  current_website: "Current Parliament.uk website"
@@ -33,6 +35,10 @@ en:
33
35
  current:
34
36
  current_member:
35
37
  current_mp_for: "Current MP for"
38
+ constituencies:
39
+ list:
40
+ current:
41
+ vacant: 'vacant'
36
42
  layouts:
37
43
  pugin:
38
44
  website_brand: "UK Parliament"
@@ -40,4 +46,5 @@ en:
40
46
  no_content:
41
47
  empty_list:
42
48
  members:
43
- description: "Sorry there are no results for '%{letter}'"
49
+ description: 'There are no results'
50
+ for: 'for'
data/lib/pugin.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'pugin/version'
2
2
 
3
3
  module Pugin
4
- ASSET_VERSION = '1.4.1'.freeze
4
+ ASSET_VERSION = '1.4.3'.freeze
5
5
  ASSET_LOCATION_URL = ENV.fetch('ASSET_LOCATION_URL', 'https://s3-eu-west-1.amazonaws.com/web1devci.pugin-website')
6
6
 
7
7
  class << self
data/lib/pugin/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pugin
2
- VERSION = '0.6.2'.freeze
2
+ VERSION = '0.6.3'.freeze
3
3
  end
@@ -74,12 +74,15 @@ DATA
74
74
  end
75
75
 
76
76
  it 'renders as expected' do
77
- render partial: 'pugin/cards/person-list', locals: { people: @people, letter: 'a' }
77
+ render partial: 'pugin/cards/person-list', locals: { people: @people }
78
78
 
79
79
  expect(response).to eq(<<DATA
80
80
  <ol class='list--box'>
81
81
  <li>
82
- <p>Sorry there are no results for &#39;A&#39;</p>
82
+ <p>
83
+ There are no results
84
+
85
+ </p>
83
86
  </li>
84
87
  </ol>
85
88
  DATA
@@ -3,105 +3,90 @@ require 'haml'
3
3
 
4
4
  describe 'pugin/components/_navigation-letter.html.haml', type: :view do
5
5
 
6
- context 'with no data' do
6
+ context 'with all letters containing data' do
7
7
 
8
8
  before :each do
9
- @letters = []
9
+ # Variables used in testing
10
+ @primary_id = '1234'
11
+ @secondary_id = '5678'
12
+ @letters = ('A'..'Z')
13
+
14
+ # Allow URLS to be generated
15
+ # - Simple Letter
16
+ ('a'..'z').each do |letter|
17
+ allow(view).to receive(:people_letter_path).with(letter).and_return("/people/a-z/#{letter}")
18
+ end
19
+
20
+ # - Letter with Primary ID
21
+ ('a'..'z').each do |letter|
22
+ allow(view).to receive(:party_members_letter_path).with(@primary_id, letter).and_return("/parties/#{@primary_id}/members/a-z/#{letter}")
23
+ end
24
+
25
+ # - Letter with Primary ID and Secondary ID
26
+ ('a'..'z').each do |letter|
27
+ allow(view).to receive(:house_party_members_letter_path).with(@primary_id, @secondary_id, letter).and_return("/houses/#{@primary_id}/parties/#{@secondary_id}/members/a-z/#{letter}")
28
+ end
29
+
30
+ end
31
+
32
+ # Test for simple letter
33
+ context 'and with no active letter' do
34
+ before :each do
35
+ render partial: 'pugin/components/navigation-letter', locals: { route_symbol: :people_letter_path }
36
+ end
37
+ ('a'..'z').each do |letter|
38
+ it "doesn't render any list items with the active class" do
39
+ expect(rendered).not_to include("<li class='active' data-letter=#{letter}>")
40
+ end
41
+ end
42
+ end
43
+
44
+ context 'and with an active letter "a"' do
45
+ before :each do
46
+ params[:letter] = "a"
47
+ render partial: 'pugin/components/navigation-letter', locals: { route_symbol: :people_letter_path }
48
+ end
49
+ it "renders the list items with the active class and no link" do
50
+ expect(rendered).to include("<li class='active' data-letter='a'>\n<span>a</span>\n</li>")
51
+ end
52
+ end
53
+
54
+ # Test for primary id and letter
55
+ context 'and a primary id' do
56
+ before :each do
57
+ render partial: 'pugin/components/navigation-letter', locals: { route_symbol: :party_members_letter_path, primary_id: @primary_id }
58
+ end
59
+
60
+ ('a'..'z').each do |letter|
61
+ it "renders a navigation link for /parties/1234/a-z/#{letter}" do
62
+ expect(rendered).to include("<a data-atoz-see=\"true\" href=\"/parties/1234/members/a-z/#{letter}\">#{letter}</a>")
63
+ end
64
+ end
65
+ end
66
+
67
+ context 'and both a primary and secondary id' do
68
+ before :each do
69
+ render partial: 'pugin/components/navigation-letter', locals: { route_symbol: :house_party_members_letter_path, primary_id: @primary_id, secondary_id: @secondary_id }
70
+ end
71
+ ('a'..'z').each do |letter|
72
+ it "renders a navigation link for /houses/1234/parties/5678/members/a-z/#{letter}" do
73
+ expect(rendered).to include("<a data-atoz-see=\"true\" href=\"/houses/1234/parties/5678/members/a-z/#{letter}\">#{letter}</a>")
74
+ end
75
+ end
10
76
  end
11
77
 
12
- it 'displays a navigation list with no links' do
13
- render partial: 'pugin/components/navigation-letter', locals: { route_symbol: '/people' }
78
+ context "doesn't render links for empty letters" do
79
+ before :each do
80
+ @letters = []
81
+ render partial: 'pugin/components/navigation-letter', locals: { route_symbol: :party_members_letter_path, primary_id: @primary_id }
82
+ end
14
83
 
15
- expect(rendered).to eq(
16
- <<DATA
17
- <p>
18
- A to Z -
19
- select a letter
20
- </p>
21
- <nav aria-label='Paged navigation' class='navigation--letter'>
22
- <ul>
23
- <li data-letter='a'>
24
- a
25
- </li>
26
- <li data-letter='b'>
27
- b
28
- </li>
29
- <li data-letter='c'>
30
- c
31
- </li>
32
- <li data-letter='d'>
33
- d
34
- </li>
35
- <li data-letter='e'>
36
- e
37
- </li>
38
- <li data-letter='f'>
39
- f
40
- </li>
41
- <li data-letter='g'>
42
- g
43
- </li>
44
- <li data-letter='h'>
45
- h
46
- </li>
47
- <li data-letter='i'>
48
- i
49
- </li>
50
- <li data-letter='j'>
51
- j
52
- </li>
53
- <li data-letter='k'>
54
- k
55
- </li>
56
- <li data-letter='l'>
57
- l
58
- </li>
59
- <li data-letter='m'>
60
- m
61
- </li>
62
- <li data-letter='n'>
63
- n
64
- </li>
65
- <li data-letter='o'>
66
- o
67
- </li>
68
- <li data-letter='p'>
69
- p
70
- </li>
71
- <li data-letter='q'>
72
- q
73
- </li>
74
- <li data-letter='r'>
75
- r
76
- </li>
77
- <li data-letter='s'>
78
- s
79
- </li>
80
- <li data-letter='t'>
81
- t
82
- </li>
83
- <li data-letter='u'>
84
- u
85
- </li>
86
- <li data-letter='v'>
87
- v
88
- </li>
89
- <li data-letter='w'>
90
- w
91
- </li>
92
- <li data-letter='x'>
93
- x
94
- </li>
95
- <li data-letter='y'>
96
- y
97
- </li>
98
- <li data-letter='z'>
99
- z
100
- </li>
101
- </ul>
102
- </nav>
103
- DATA
104
- )
84
+ ('a'..'z').each do |letter|
85
+ it "just renders the letter #{letter}" do
86
+ expect(rendered).not_to include("<a data-atoz-see=\"true\" href=\"/parties/1234/members/a-z/#{letter}\">#{letter}</a>")
87
+ expect(rendered).to include("<li data-letter='#{letter}'>\n<span>#{letter}</span>\n</li>")
88
+ end
89
+ end
105
90
  end
106
91
  end
107
- end
92
+ end
@@ -50,7 +50,6 @@ DATA
50
50
 
51
51
  it 'renders a message that shows a link to register to vote' do
52
52
  render partial: 'pugin/components/status', locals: { status: nil }
53
- p FlagHelper.dissolution?
54
53
  expect(response).to eq(
55
54
  <<DATA
56
55
  <div class='highlight--status highlight--default'>
@@ -60,7 +59,7 @@ This is a test website, so may be inaccurate.
60
59
  <a href='https://ukparliament-self.achieveservice.com/AchieveForms/?form_uri=sandbox://AF-Form-337e2b87-4c8b-40f7-bb72-a80f15284b21&amp;amp;category=AF-Category-108691b0-e15c-46d7-9d16-7ad0d35cdb2a&amp;amp;isPublished=false' target='_blank' title='website opens in a new window'>Give feedback</a>
61
60
  to help improve it.
62
61
  <a href='https://www.gov.uk/register-to-vote'>Register to vote</a>
63
- in the General Election by 22 May.
62
+ in the general election by 22 May.
64
63
  </p>
65
64
  </div>
66
65
  </div>
@@ -93,7 +92,9 @@ DATA
93
92
  This is a test website, so may be inaccurate.
94
93
  <a href='https://ukparliament-self.achieveservice.com/AchieveForms/?form_uri=sandbox://AF-Form-337e2b87-4c8b-40f7-bb72-a80f15284b21&amp;amp;category=AF-Category-108691b0-e15c-46d7-9d16-7ad0d35cdb2a&amp;amp;isPublished=false' target='_blank' title='website opens in a new window'>Give feedback</a>
95
94
  to help improve it.
96
- Remember to vote in the general election on 8th June.
95
+ Find out
96
+ <a href='http://www.parliament.uk/get-involved/elections/voting/' target='_blank' title='website opens in a new window'>how to vote</a>
97
+ in the general election on 8 June.
97
98
  </p>
98
99
  </div>
99
100
  </div>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Rayner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-05 00:00:00.000000000 Z
11
+ date: 2017-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails