ama_layout 10.2.0 → 11.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +45 -0
  3. data/Dangerfile +19 -0
  4. data/ama_layout.gemspec +1 -1
  5. data/app/assets/javascripts/ama_layout/desktop/foundation-custom.js +1 -0
  6. data/app/helpers/ama_layout_breadcrumb_helper.rb +7 -1
  7. data/app/helpers/ama_layout_content_helper.rb +28 -17
  8. data/app/helpers/ama_layout_partial_helper.rb +11 -0
  9. data/app/views/ama_layout/{_alert.html.erb → v2/_alert.html.erb} +0 -0
  10. data/app/views/ama_layout/{_applogo.html.erb → v2/_applogo.html.erb} +0 -0
  11. data/app/views/ama_layout/{_breadcrumbs.html.erb → v2/_breadcrumbs.html.erb} +0 -0
  12. data/app/views/ama_layout/{_custom_nav_links.html.erb → v2/_custom_nav_links.html.erb} +0 -0
  13. data/app/views/ama_layout/{_custom_sidebar.html.erb → v2/_custom_sidebar.html.erb} +0 -0
  14. data/app/views/ama_layout/v2/_font.html.erb +1 -0
  15. data/app/views/ama_layout/{_footer.html.erb → v2/_footer.html.erb} +0 -0
  16. data/app/views/ama_layout/{_main_nav_item.html.erb → v2/_main_nav_item.html.erb} +0 -0
  17. data/app/views/ama_layout/{_main_top_nav_item.html.erb → v2/_main_top_nav_item.html.erb} +0 -0
  18. data/app/views/ama_layout/{_member_links.html.erb → v2/_member_links.html.erb} +0 -0
  19. data/app/views/ama_layout/{_mobile_links.html.erb → v2/_mobile_links.html.erb} +0 -0
  20. data/app/views/ama_layout/{_mobile_notification_icon.html.erb → v2/_mobile_notification_icon.html.erb} +0 -0
  21. data/app/views/ama_layout/{_notice.html.erb → v2/_notice.html.erb} +0 -0
  22. data/app/views/ama_layout/{_notices.html.erb → v2/_notices.html.erb} +0 -0
  23. data/app/views/ama_layout/{_notification.html.erb → v2/_notification.html.erb} +0 -0
  24. data/app/views/ama_layout/{_notification_icon.html.erb → v2/_notification_icon.html.erb} +0 -0
  25. data/app/views/ama_layout/{_notification_sidebar.html.erb → v2/_notification_sidebar.html.erb} +1 -1
  26. data/app/views/ama_layout/{_sidebar.html.erb → v2/_sidebar.html.erb} +0 -0
  27. data/app/views/ama_layout/{_sign_out_link.html.erb → v2/_sign_out_link.html.erb} +0 -0
  28. data/app/views/ama_layout/{_siteheader.html.erb → v2/_siteheader.html.erb} +0 -0
  29. data/app/views/ama_layout/{_sub_nav.html.erb → v2/_sub_nav.html.erb} +0 -0
  30. data/app/views/ama_layout/{_sub_nav_item.html.erb → v2/_sub_nav_item.html.erb} +0 -0
  31. data/app/views/ama_layout/{_success.html.erb → v2/_success.html.erb} +0 -0
  32. data/app/views/ama_layout/{_top_nav.html.erb → v2/_top_nav.html.erb} +0 -0
  33. data/app/views/ama_layout/{_top_sub_nav.html.erb → v2/_top_sub_nav.html.erb} +0 -0
  34. data/app/views/ama_layout/{_top_sub_nav_item.html.erb → v2/_top_sub_nav_item.html.erb} +0 -0
  35. data/app/views/ama_layout/v3/_alert.html.erb +5 -0
  36. data/app/views/ama_layout/v3/_applogo.html.erb +3 -0
  37. data/app/views/ama_layout/v3/_breadcrumbs.html.erb +3 -0
  38. data/app/views/ama_layout/v3/_custom_nav_links.html.erb +0 -0
  39. data/app/views/ama_layout/v3/_custom_sidebar.html.erb +1 -0
  40. data/app/views/ama_layout/v3/_font.html.erb +2 -0
  41. data/app/views/ama_layout/v3/_footer.html.erb +69 -0
  42. data/app/views/ama_layout/v3/_main_nav_item.html.erb +6 -0
  43. data/app/views/ama_layout/v3/_main_top_nav_item.html.erb +4 -0
  44. data/app/views/ama_layout/v3/_member_links.html.erb +6 -0
  45. data/app/views/ama_layout/v3/_mobile_links.html.erb +22 -0
  46. data/app/views/ama_layout/v3/_mobile_notification_icon.html.erb +4 -0
  47. data/app/views/ama_layout/v3/_notice.html.erb +5 -0
  48. data/app/views/ama_layout/v3/_notices.html.erb +3 -0
  49. data/app/views/ama_layout/v3/_notification.html.erb +10 -0
  50. data/app/views/ama_layout/v3/_notification_icon.html.erb +6 -0
  51. data/app/views/ama_layout/v3/_notification_sidebar.html.erb +22 -0
  52. data/app/views/ama_layout/v3/_sidebar.html.erb +8 -0
  53. data/app/views/ama_layout/v3/_sign_out_link.html.erb +3 -0
  54. data/app/views/ama_layout/v3/_siteheader.html.erb +37 -0
  55. data/app/views/ama_layout/v3/_sub_nav.html.erb +3 -0
  56. data/app/views/ama_layout/v3/_sub_nav_item.html.erb +3 -0
  57. data/app/views/ama_layout/v3/_success.html.erb +5 -0
  58. data/app/views/ama_layout/v3/_top_nav.html.erb +16 -0
  59. data/app/views/ama_layout/v3/_top_sub_nav.html.erb +3 -0
  60. data/app/views/ama_layout/v3/_top_sub_nav_item.html.erb +3 -0
  61. data/config.ru +1 -1
  62. data/lib/ama_layout/ama_layout_view.rb +6 -0
  63. data/lib/ama_layout/decorators/agent/navigation_decorator.rb +5 -3
  64. data/lib/ama_layout/decorators/navigation_decorator.rb +8 -8
  65. data/lib/ama_layout/draper_replacement.rb +6 -0
  66. data/lib/ama_layout/moneris.rb +10 -1
  67. data/lib/ama_layout/moneris/{textbox.txt → v2/textbox.txt} +0 -0
  68. data/lib/ama_layout/moneris/v3/textbox.txt +58 -0
  69. data/lib/ama_layout/version.rb +1 -1
  70. data/spec/ama_layout/decorators/moneris_decorator_spec.rb +4 -4
  71. data/spec/ama_layout/moneris_spec.rb +22 -3
  72. data/spec/helpers/ama_layout_content_helper_spec.rb +64 -62
  73. data/spec/spec_helper.rb +3 -1
  74. metadata +68 -37
  75. data/.travis.yml +0 -6
@@ -0,0 +1,6 @@
1
+ <li>
2
+ <a href="#" class="notification link--no-underline" data-toggle="offCanvasRight" data-notifications-toggle>
3
+ <i class="fa fa-2x fa-bell"></i>
4
+ <%= navigation.notification_badge %>
5
+ </a>
6
+ </li>
@@ -0,0 +1,22 @@
1
+ <div class="off-canvas position-right right-sidebar" id="offCanvasRight" data-off-canvas>
2
+ <div class="row column right-sidebar__header">
3
+ <h2 class="mt1">Notification Centre</h2>
4
+ <button class="close-button" aria-label="Close menu" type="button" data-close>
5
+ <span aria-hidden="true">&times;</span>
6
+ </button>
7
+ </div>
8
+ <div class="row column">
9
+ <%= navigation.notifications_heading %>
10
+ </div>
11
+ <%= render partial: ama_layout_partial('notification'), collection: notifications %>
12
+ <div class="row column">
13
+ <p class="mt1">Did You Know?</p>
14
+ <div class="section-content">
15
+ <p class="bold">Sign up for Vehicle Registration Auto-Renew</p>
16
+ <p>
17
+ We'll process your payment and mail you a new registration certificate and licence plate sticker. It's that simple!
18
+ </p>
19
+ <%= link_to 'Sign up now', "#{Rails.configuration.registries_site}/order/registrations/new", class: 'button--right button--expand-small-down' %>
20
+ </div>
21
+ </div>
22
+ </div>
@@ -0,0 +1,8 @@
1
+ <aside class="side-nav" data-equalizer-watch="page-container-equalize">
2
+ <h2 class="side-nav__header">Online Account</h2>
3
+ <div class="side-nav__content">
4
+ <ul class="side-nav__list">
5
+ <%= render partial: "ama_layout/main_nav_item", collection: navigation.items, as: :nav_item %>
6
+ </ul>
7
+ </div>
8
+ </aside>
@@ -0,0 +1,3 @@
1
+ <li>
2
+ <a class="side-nav__link" href="/logout">Sign Out</a>
3
+ </li>
@@ -0,0 +1,37 @@
1
+ <div class="header">
2
+ <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="large">
3
+ <button class="menu-icon" type="button" data-toggle="offCanvasLeft"></button>
4
+ <%= link_to(image_tag("ama-logo.png"), Rails.configuration.amaabca_site, class: "title-bar__logo") %>
5
+ <%= navigation.mobile_notification_icon %>
6
+ </div>
7
+ <div class="top-bar" id="main-menu">
8
+ <div class="top-bar-left">
9
+ <%= link_to(image_tag("ama-logo.png", class: "top-bar__logo"), Rails.configuration.amaabca_site) %>
10
+ </div>
11
+ <div class="top-bar-right">
12
+ <ul class="menu" data-responsive-menu="drilldown medium-dropdown">
13
+ <%= navigation.notification_icon %>
14
+ <li>
15
+ <a href="<%= Rails.configuration.amaabca_site %>/knowledge-base/articles" target="_blank">Help</a>
16
+ </li>
17
+ <li>
18
+ <a href="<%= Rails.configuration.amaabca_site %>/membership/contact-us--centre-locations-hours-and-contact-information">Contact Us</a>
19
+ </li>
20
+ <%= navigation.account_toggle(self) %>
21
+ <%= navigation.top_nav %>
22
+ </ul>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <%= navigation.mobile_links %>
27
+ <%= navigation.notification_sidebar %>
28
+ <div class="javascript_errors error_notification" hidden></div>
29
+ <noscript>
30
+ <div class="mt1 large-12 columns text-center error_notification">
31
+ <h2 class="mt1">There seems to be an issue with your browser.</h2>
32
+ <h5>Javascript is disabled in your web browser.</h5>
33
+ <div class='fieldset text-center small mb1 block'>
34
+ For full functionality of this site it is necessary to enable JavaScript. Here are the <a href="http://www.enable-javascript.com/" target="_blank"> instructions how to enable JavaScript in your web browser</a>
35
+ </div>
36
+ </div>
37
+ </noscript>
@@ -0,0 +1,3 @@
1
+ <ul class="side-nav__child-list">
2
+ <%= render partial: "ama_layout/sub_nav_item", collection: sub_nav, as: :nav_item %>
3
+ </ul>
@@ -0,0 +1,3 @@
1
+ <li class="side-nav__child-item">
2
+ <%= link_to nav_item.text, nav_item.link, class: "side-nav__child-link #{nav_item.active_class}" %>
3
+ </li>
@@ -0,0 +1,5 @@
1
+ <div class="row">
2
+ <div class="large-12">
3
+ <div class="success_notification"><span><%= message.html_safe %></span></div>
4
+ </div>
5
+ </div>
@@ -0,0 +1,16 @@
1
+ <li class="has-submenu">
2
+ <%= link_to navigation.display_name_text, '#', class: 'link--no-underline' %>
3
+ <ul class="submenu menu vertical">
4
+ <li class="bold">
5
+ <%= link_to 'Account Settings', "#{Rails.configuration.gatekeeper_site}/account_settings" %>
6
+ </li>
7
+ <li class="small-text">
8
+ <%= link_to 'Change Email/Password', "#{Rails.configuration.gatekeeper_site}/user/edit" %>
9
+ </li>
10
+ <li class="small-text">
11
+ <%= link_to 'Email Subscriptions', "#{Rails.configuration.youraccount_site}/subscriptions" %>
12
+ </li>
13
+ <%= navigation.member_links %>
14
+ <%= navigation.sign_out_link %>
15
+ </ul>
16
+ </li>
@@ -0,0 +1,3 @@
1
+ <ul class="submenu menu vertical" data-submenu>
2
+ <%= render partial: "ama_layout/top_sub_nav_item", collection: sub_nav, as: :nav_item %>
3
+ </ul>
@@ -0,0 +1,3 @@
1
+ <li>
2
+ <%= link_to nav_item.text, nav_item.link %>
3
+ </li>
data/config.ru CHANGED
@@ -5,5 +5,5 @@ require "bundler"
5
5
 
6
6
  Bundler.require :default, :development
7
7
 
8
- Combustion.initialize! :all
8
+ Combustion.initialize!(:all)
9
9
  run Combustion::Application
@@ -1,5 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../app/helpers/ama_layout_partial_helper'
4
+
1
5
  module AmaLayout
2
6
  class AmaLayoutView < ActionView::Base
7
+ include AmaLayoutPartialHelper
8
+
3
9
  attr_accessor :view_data
4
10
 
5
11
  def initialize(args)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module AmaLayout
2
4
  module Agent
3
5
  class NavigationDecorator
@@ -14,19 +16,19 @@ module AmaLayout
14
16
  def sign_out_link
15
17
  return '' unless user
16
18
 
17
- h.render partial: 'ama_layout/sign_out_link'
19
+ h.render partial: ama_layout_partial('sign_out_link')
18
20
  end
19
21
 
20
22
  def top_nav
21
23
  return '' unless user
22
24
 
23
- h.render partial: 'ama_layout/agent/top_nav', locals: { navigation: self }
25
+ h.render partial: ama_layout_partial('agent/top_nav'), locals: { navigation: self }
24
26
  end
25
27
 
26
28
  def sidebar
27
29
  return '' unless user
28
30
 
29
- h.render partial: 'ama_layout/sidebar', locals: { navigation: self }
31
+ h.render partial: ('sidebar'), locals: { navigation: self }
30
32
  end
31
33
 
32
34
  def cash_drawer_name
@@ -15,25 +15,25 @@ module AmaLayout
15
15
  def sign_out_link
16
16
  return '' unless user
17
17
 
18
- h.render partial: 'ama_layout/sign_out_link'
18
+ h.render partial: ama_layout_partial('sign_out_link')
19
19
  end
20
20
 
21
21
  def member_links
22
22
  return '' unless user && %w[member member_renewal member_outstanding_balance].include?(user.try(:menu_key))
23
23
 
24
- h.render partial: 'ama_layout/member_links'
24
+ h.render partial: ama_layout_partial('member_links')
25
25
  end
26
26
 
27
27
  def top_nav
28
28
  return '' unless user
29
29
 
30
- h.render partial: 'ama_layout/top_nav', locals: { navigation: self }
30
+ h.render partial: ama_layout_partial('top_nav'), locals: { navigation: self }
31
31
  end
32
32
 
33
33
  def sidebar
34
34
  return '' if items.none?
35
35
 
36
- h.render partial: 'ama_layout/sidebar', locals: { navigation: self }
36
+ h.render partial: ama_layout_partial('sidebar'), locals: { navigation: self }
37
37
  end
38
38
 
39
39
  def name_or_email
@@ -47,19 +47,19 @@ module AmaLayout
47
47
  def notification_icon
48
48
  return '' unless user
49
49
 
50
- h.render 'ama_layout/notification_icon', navigation: self
50
+ h.render ama_layout_partial('notification_icon'), navigation: self
51
51
  end
52
52
 
53
53
  def mobile_notification_icon
54
54
  return '' unless user
55
55
 
56
- h.render 'ama_layout/mobile_notification_icon', navigation: self
56
+ h.render ama_layout_partial('mobile_notification_icon'), navigation: self
57
57
  end
58
58
 
59
59
  def mobile_links
60
60
  return '' if user
61
61
 
62
- h.render 'ama_layout/mobile_links'
62
+ h.render ama_layout_partial('mobile_links')
63
63
  end
64
64
 
65
65
  def notification_badge
@@ -78,7 +78,7 @@ module AmaLayout
78
78
  def notification_sidebar
79
79
  return '' unless user
80
80
 
81
- h.render 'ama_layout/notification_sidebar', navigation: self, notifications: decorated_notifications
81
+ h.render ama_layout_partial('notification_sidebar'), navigation: self, notifications: decorated_notifications
82
82
  end
83
83
 
84
84
  def notifications_heading
@@ -1,8 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../../app/helpers/ama_layout_partial_helper'
4
+
1
5
  module AmaLayout
2
6
  module DraperReplacement
3
7
  extend ActiveSupport::Concern
4
8
 
5
9
  included do
10
+ include AmaLayoutPartialHelper
11
+
6
12
  attr_accessor :object, :controller
7
13
 
8
14
  def h(view_data = {})
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module AmaLayout
2
4
  class Moneris
3
5
  include ActiveModel::Model
@@ -9,7 +11,14 @@ module AmaLayout
9
11
  attr_accessor :textbox_style_file
10
12
 
11
13
  def textbox_style_file
12
- @textbox_style_file ||= File.join Gem.loaded_specs["ama_layout"].full_gem_path, "lib", "ama_layout", "moneris", "textbox.txt"
14
+ @textbox_style_file ||= File.join(
15
+ Gem.loaded_specs['ama_layout'].full_gem_path,
16
+ 'lib',
17
+ 'ama_layout',
18
+ 'moneris',
19
+ Rails.configuration.stylesheet_resolver.version,
20
+ 'textbox.txt'
21
+ )
13
22
  end
14
23
  end
15
24
  end
@@ -0,0 +1,58 @@
1
+ -webkit-appearance: none;
2
+ -webkit-box-shadow: none;
3
+ -webkit-rtl-ordering: logical;
4
+ -webkit-transition-delay: 0s, 0s;
5
+ -webkit-transition-duration: 0.45s, 0.45s;
6
+ -webkit-transition-property: box-shadow, border-color;
7
+ -webkit-transition-timing-function: ease, ease-in-out;
8
+ -webkit-user-select: text;
9
+ -webkit-writing-mode: horizontal-tb;
10
+ background-color: rgb(255, 255, 255);
11
+ border-bottom-color: rgb(160, 160, 161);
12
+ border-bottom-style: solid;
13
+ border-bottom-width: 2px;
14
+ border-image-outset: 0px;
15
+ border-image-repeat: stretch;
16
+ border-image-slice: 100%;
17
+ border-image-source: none;
18
+ border-image-width: 1;
19
+ border-left-color: rgb(160, 160, 161);
20
+ border-left-style: solid;
21
+ border-left-width: 2px;
22
+ border-right-color: rgb(160, 160, 161);
23
+ border-right-style: solid;
24
+ border-right-width: 2px;
25
+ border-top-color: rgb(160, 160, 161);
26
+ border-top-style: solid;
27
+ border-top-width: 2px;
28
+ box-shadow: none;
29
+ border-radius: 9px;
30
+ box-sizing: border-box;
31
+ color: rgba(0, 0, 0, 0.74902);
32
+ cursor: auto;
33
+ display: block;
34
+ font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif;font-size: 14px;
35
+ font-style: normal;font-variant: normal;
36
+ font-weight: normal;
37
+ height: 44px;
38
+ letter-spacing: normal;
39
+ line-height: normal;
40
+ margin-bottom: 0px;
41
+ margin-left: 0px;
42
+ margin-right: 0px;
43
+ margin-top: 0px;
44
+ padding-bottom: 8px;
45
+ padding-left: 8px;
46
+ padding-right: 8px;
47
+ padding-top: 8px;
48
+ text-align: start;
49
+ text-indent: 0px;
50
+ text-shadow: none;
51
+ text-transform: none;
52
+ transition-delay: 0s, 0s;
53
+ transition-duration: 0.45s, 0.45s;
54
+ transition-property: box-shadow, border-color;
55
+ transition-timing-function: ease, ease-in-out;
56
+ width: 100%;
57
+ word-spacing: 0px;
58
+ writing-mode: lr-tb;
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AmaLayout
4
- VERSION = '10.2.0'
4
+ VERSION = '11.1.0'
5
5
  end
@@ -14,7 +14,7 @@ describe AmaLayout::MonerisDecorator, type: :decorator do
14
14
  expect(moneris_presenter.textbox).to include "-webkit-user-select: text;"
15
15
  expect(moneris_presenter.textbox).to include "-webkit-writing-mode: horizontal-tb;"
16
16
  expect(moneris_presenter.textbox).to include "background-color: rgb(255, 255, 255);"
17
- expect(moneris_presenter.textbox).to include "border-bottom-color: rgb(229, 229, 229);"
17
+ expect(moneris_presenter.textbox).to include "border-bottom-color: rgb(160, 160, 161);"
18
18
  expect(moneris_presenter.textbox).to include "border-bottom-style: solid;"
19
19
  expect(moneris_presenter.textbox).to include "border-bottom-width: 2px;"
20
20
  expect(moneris_presenter.textbox).to include "border-image-outset: 0px;"
@@ -22,13 +22,13 @@ describe AmaLayout::MonerisDecorator, type: :decorator do
22
22
  expect(moneris_presenter.textbox).to include "border-image-slice: 100%;"
23
23
  expect(moneris_presenter.textbox).to include "border-image-source: none;"
24
24
  expect(moneris_presenter.textbox).to include "border-image-width: 1;"
25
- expect(moneris_presenter.textbox).to include "border-left-color: rgb(229, 229, 229);"
25
+ expect(moneris_presenter.textbox).to include "border-left-color: rgb(160, 160, 161)"
26
26
  expect(moneris_presenter.textbox).to include "border-left-style: solid;"
27
27
  expect(moneris_presenter.textbox).to include "border-left-width: 2px;"
28
- expect(moneris_presenter.textbox).to include "border-right-color: rgb(229, 229, 229);"
28
+ expect(moneris_presenter.textbox).to include "border-right-color: rgb(160, 160, 161)"
29
29
  expect(moneris_presenter.textbox).to include "border-right-style: solid;"
30
30
  expect(moneris_presenter.textbox).to include "border-right-width: 2px;"
31
- expect(moneris_presenter.textbox).to include "border-top-color: rgb(229, 229, 229);"
31
+ expect(moneris_presenter.textbox).to include "border-top-color: rgb(160, 160, 161)"
32
32
  expect(moneris_presenter.textbox).to include "border-top-style: solid;"
33
33
  expect(moneris_presenter.textbox).to include "border-top-width: 2px;"
34
34
  expect(moneris_presenter.textbox).to include "box-shadow: none;"
@@ -1,8 +1,27 @@
1
+ # frozen_string_literal: true
2
+
1
3
  describe AmaLayout::Moneris do
4
+ describe '#textbox_style_file' do
5
+ around(:each) do |example|
6
+ current_version = Rails.configuration.stylesheet_resolver.version
7
+ Rails.configuration.stylesheet_resolver.version = version
8
+ example.run
9
+ Rails.configuration.stylesheet_resolver.version = current_version
10
+ end
11
+ context 'v2' do
12
+ let(:version) { 'v2' }
13
+
14
+ it 'returns the correct file path' do
15
+ expect(subject.textbox_style_file).to include("lib/ama_layout/moneris/#{version}/textbox.txt")
16
+ end
17
+ end
18
+
19
+ context 'v3' do
20
+ let(:version) { 'v3' }
2
21
 
3
- describe "#textbox_style_file" do
4
- it "return file path" do
5
- expect(subject.textbox_style_file).to include "lib/ama_layout/moneris/textbox.txt"
22
+ it 'returns the correct file path' do
23
+ expect(subject.textbox_style_file).to include("lib/ama_layout/moneris/#{version}/textbox.txt")
24
+ end
6
25
  end
7
26
  end
8
27
  end
@@ -1,159 +1,161 @@
1
+ # frozen_string_literal: true
2
+
1
3
  describe AmaLayoutContentHelper do
2
- let(:greeting) { "DJ Funky Fresh" }
3
- let(:site_name) { "Waffle Emporium" }
4
- let(:site_domain) { "http://waffleemporium.ca" }
4
+ let(:greeting) { 'DJ Funky Fresh' }
5
+ let(:site_name) { 'Waffle Emporium' }
6
+ let(:site_domain) { 'http://waffleemporium.ca' }
5
7
  let(:site_url) { "#{site_domain}/wafflesauce" }
6
8
  let(:nav_item) { FactoryBot.build(:navigation_item) }
7
9
 
8
- describe "#greeting" do
9
- it "returns the greeting set in the domain cookie" do
10
+ describe '#greeting' do
11
+ it 'returns the greeting set in the domain cookie' do
10
12
  helper.request.cookies[:logged_in_meta] = greeting
11
13
  expect(helper.greeting).to eq greeting
12
14
  end
13
15
  end
14
16
 
15
- describe "#utm_source" do
16
- it "returns the downcased character-only representation of the site name" do
17
+ describe '#utm_source' do
18
+ it 'returns the downcased character-only representation of the site name' do
17
19
  allow(Rails.configuration).to receive(:site_name).and_return(site_name)
18
- expect(helper.utm_source).to eq site_name.downcase.gsub(/\W/, "")
20
+ expect(helper.utm_source).to eq site_name.downcase.gsub(/\W/, '')
19
21
  end
20
22
  end
21
23
 
22
- describe "#active_section" do
23
- it "returns active if request include the path" do
24
+ describe '#active_section' do
25
+ it 'returns active if request include the path' do
24
26
  allow_any_instance_of(ActionController::TestRequest).to receive(:fullpath).and_return("#{site_domain}/gotica")
25
- expect(helper.active_section(nav_item)).to eq "activepage"
27
+ expect(helper.active_section(nav_item)).to eq 'activepage'
26
28
  end
27
29
 
28
- it "returns nil if request does not include the path" do
30
+ it 'returns nil if request does not include the path' do
29
31
  expect(helper.active_section(nav_item)).to eq nil
30
32
  end
31
33
  end
32
34
 
33
- describe "#active_page" do
35
+ describe '#active_page' do
34
36
  before(:each) do
35
37
  allow(helper.request).to receive(:fullpath).and_return(site_url)
36
38
  end
37
39
 
38
- it "returns active if the given path matches the request path" do
39
- expect(helper.active_page(site_url)).to eq "activepage"
40
+ it 'returns active if the given path matches the request path' do
41
+ expect(helper.active_page(site_url)).to eq 'activepage'
40
42
  end
41
43
 
42
- it "returns nothing if the given patch does not match the request path" do
43
- expect(helper.active_page("http://waffleemporium.ca/ecuaselffaw")).to be_nil
44
+ it 'returns nothing if the given patch does not match the request path' do
45
+ expect(helper.active_page('http://waffleemporium.ca/ecuaselffaw')).to be_nil
44
46
  end
45
47
  end
46
48
 
47
- describe "#active_domain" do
49
+ describe '#active_domain' do
48
50
  before(:each) do
49
51
  allow(helper.request).to receive(:url).and_return(site_url)
50
52
  end
51
53
 
52
- it "returns active if the request domain matches the given domain" do
53
- expect(helper.active_domain(site_domain)).to eq "active"
54
+ it 'returns active if the request domain matches the given domain' do
55
+ expect(helper.active_domain(site_domain)).to eq 'active'
54
56
  end
55
57
 
56
- it "returns nothing if the request domain does not match the given domain" do
57
- expect(helper.active_domain("http://pancakeemporium.ca")).to be_nil
58
+ it 'returns nothing if the request domain does not match the given domain' do
59
+ expect(helper.active_domain('http://pancakeemporium.ca')).to be_nil
58
60
  end
59
61
  end
60
62
 
61
- describe "#renew_or_join_path" do
62
- it "returns nothing if the visitor is logged in" do
63
- expect(helper.renew_or_join_path(true)).to eq ""
63
+ describe '#renew_or_join_path' do
64
+ it 'returns nothing if the visitor is logged in' do
65
+ expect(helper.renew_or_join_path(true)).to eq ''
64
66
  end
65
67
 
66
- it "returns the join link if the visitor is not logged in" do
67
- expect(helper.renew_or_join_path(false)).to include "Become a Member"
68
+ it 'returns the join link if the visitor is not logged in' do
69
+ expect(helper.renew_or_join_path(false)).to include 'Become a Member'
68
70
  end
69
71
  end
70
72
 
71
- describe "#gift_or_pricing_path" do
72
- it "returns nothing if the visitor is logged in" do
73
- expect(helper.gift_or_pricing_path(true)).to eq ""
73
+ describe '#gift_or_pricing_path' do
74
+ it 'returns nothing if the visitor is logged in' do
75
+ expect(helper.gift_or_pricing_path(true)).to eq ''
74
76
  end
75
77
 
76
- it "returns the gift link if the visitor is not logged in" do
77
- expect(helper.gift_or_pricing_path(false)).to include "Gift Membership"
78
+ it 'returns the gift link if the visitor is not logged in' do
79
+ expect(helper.gift_or_pricing_path(false)).to include 'Gift Membership'
78
80
  end
79
81
  end
80
82
 
81
- describe "#dropdown_menu" do
83
+ describe '#dropdown_menu' do
82
84
  let(:render_args) do
83
- { partial: "ama_layout/dropdown_menu", locals: { logged_in: true, greeting: greeting } }
85
+ { partial: 'ama_layout/v3/dropdown_menu', locals: { logged_in: true, greeting: greeting } }
84
86
  end
85
87
 
86
- it "renders the dropdown menu if the visitor is logged in" do
88
+ it 'renders the dropdown menu if the visitor is logged in' do
87
89
  expect(helper).to receive(:render).with(render_args)
88
90
  helper.dropdown_menu(true, greeting)
89
91
  end
90
92
 
91
- it "does not render the dropdown menu if the visitor is not logged in" do
92
- expect(helper.dropdown_menu(false, greeting)).to eq ""
93
+ it 'does not render the dropdown menu if the visitor is not logged in' do
94
+ expect(helper.dropdown_menu(false, greeting)).to eq ''
93
95
  end
94
96
  end
95
97
 
96
- describe "#tablet_menu" do
98
+ describe '#tablet_menu' do
97
99
  let(:render_args) do
98
- { partial: "ama_layout/tablet_menu", locals: { logged_in: true, greeting: greeting } }
100
+ { partial: 'ama_layout/v3/tablet_menu', locals: { logged_in: true, greeting: greeting } }
99
101
  end
100
102
 
101
- it "renders the tablet menu if the visitor is logged in" do
103
+ it 'renders the tablet menu if the visitor is logged in' do
102
104
  expect(helper).to receive(:render).with(render_args)
103
105
  helper.tablet_menu(true, greeting)
104
106
  end
105
107
 
106
- it "does not render the tablet menu if the visitor is not logged in" do
107
- expect(helper.tablet_menu(false, greeting)).to eq ""
108
+ it 'does not render the tablet menu if the visitor is not logged in' do
109
+ expect(helper.tablet_menu(false, greeting)).to eq ''
108
110
  end
109
111
  end
110
112
 
111
- describe "#tablet_signout" do
112
- it "renders a signout link if the visitor is logged in" do
113
- expect(helper).to receive(:render).with("ama_layout/tablet_signout")
113
+ describe '#tablet_signout' do
114
+ it 'renders a signout link if the visitor is logged in' do
115
+ expect(helper).to receive(:render).with('ama_layout/v3/tablet_signout')
114
116
  helper.tablet_signout(true)
115
117
  end
116
118
 
117
- it "does not render the tablet menu if the visitor is not logged in" do
118
- expect(helper.tablet_signout(false)).to eq ""
119
+ it 'does not render the tablet menu if the visitor is not logged in' do
120
+ expect(helper.tablet_signout(false)).to eq ''
119
121
  end
120
122
  end
121
123
 
122
- describe "#notice" do
123
- let(:message) { "This is a notice." }
124
+ describe '#notice' do
125
+ let(:message) { 'This is a notice.' }
124
126
 
125
- it "renders the notice partial if a notice is present" do
126
- expect(helper).to receive(:render).with partial: "ama_layout/notice", locals: { message: message }
127
+ it 'renders the notice partial if a notice is present' do
128
+ expect(helper).to receive(:render).with partial: 'ama_layout/v3/notice', locals: { message: message }
127
129
  helper.notice(message)
128
130
  end
129
131
 
130
- it "does not render the notice partial if a notice is not present" do
132
+ it 'does not render the notice partial if a notice is not present' do
131
133
  expect(helper.notice(nil)).to be_nil
132
134
  end
133
135
  end
134
136
 
135
- describe "#alert" do
136
- let(:message) { "This is an alert." }
137
+ describe '#alert' do
138
+ let(:message) { 'This is an alert.' }
137
139
 
138
- it "renders the alert partial if a alert is present" do
139
- expect(helper).to receive(:render).with partial: "ama_layout/alert", locals: { message: message }
140
+ it 'renders the alert partial if a alert is present' do
141
+ expect(helper).to receive(:render).with partial: 'ama_layout/v3/alert', locals: { message: message }
140
142
  helper.alert(message)
141
143
  end
142
144
 
143
- it "does not render the alert partial if a alert is not present" do
145
+ it 'does not render the alert partial if a alert is not present' do
144
146
  expect(helper.notice(nil)).to be_nil
145
147
  end
146
148
  end
147
149
 
148
- describe "#success_message" do
149
- let(:message) { "This is a success message" }
150
+ describe '#success_message' do
151
+ let(:message) { 'This is a success message' }
150
152
 
151
- it "renders the success partial if a success message is present" do
152
- expect(helper).to receive(:render).with partial: "ama_layout/success", locals: { message: message }
153
+ it 'renders the success partial if a success message is present' do
154
+ expect(helper).to receive(:render).with partial: 'ama_layout/v3/success', locals: { message: message }
153
155
  helper.success_message(message)
154
156
  end
155
157
 
156
- it "does not render the success partial if the success message is not present" do
158
+ it 'does not render the success partial if the success message is not present' do
157
159
  expect(helper.success_message(nil)).to be_nil
158
160
  end
159
161
  end