govuk_publishing_components 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c89ac97d233cfea87960f74561b440b7b512f4f5
4
- data.tar.gz: 8eead0093c99748abd32686edd8e7f664f8485d4
3
+ metadata.gz: d524eeb4db7af24131c3a967c345480f17bae8f8
4
+ data.tar.gz: ea47e54e89299120ba9937a4eca6b755ee62cd01
5
5
  SHA512:
6
- metadata.gz: 605d6cab7fa68c8257bad9e133f95ce3e4050a3bf66729bfe60caa281947b876a5a9a79cb0bd96d792075c7746ab8fb2a8b5feb7343f5c145f488e6f6fcb55e8
7
- data.tar.gz: 3c563b212ffa0a53cda59aba21e4873e1a2c18476b98ab103237ebc150844272749786bbc71b8a1e0d1f0aee248d026e15279529fb38524c1fa1babc5f569bfb
6
+ metadata.gz: 5bc0d5d9614e4d71c2713476c2f45b836726a53937bb980c4e331c0deb87b44f68afb6eb065e71163900e2a7bc25cbc4630326c22e9adc56c72e3b362d9b9095
7
+ data.tar.gz: fe56d2ec25a0eea3e897c84cae9509fc99a6467e3559c34c64bb21ee87cfbd944f3eec86f3a288b56a374bc132a906c8ca8efb15fa3a14d7cb225f3af2d8f8f0
data/README.md CHANGED
@@ -27,6 +27,23 @@ https://government-frontend.herokuapp.com/component-guide
27
27
 
28
28
  The guide includes your application’s `application.scss` and `application.js` files by default. This is [configurable](#configuration).
29
29
 
30
+ ## Test the component guide
31
+
32
+ The gem [includes integration tests](lib/govuk_publishing_components/minitest/component_guide_test.rb) to check that your component guide and examples are error free and that they meet basic accessibility needs.
33
+
34
+ Automated accessibility tests use [aXe](https://github.com/dequelabs/axe-core). Using our `AccessibilityTest` wrapper the gem runs the aXe suite against each example and throws JavaScript errors for any violations. These JavaScript errors can be used to fail a build in CI.
35
+
36
+ ### Minitest
37
+
38
+ ```ruby
39
+ # component_guide_test.rb
40
+ require 'govuk_publishing_components/minitest/component_guide_test'
41
+
42
+ class ComponentGuideTest < ActionDispatch::IntegrationTest
43
+ include GovukPublishingComponents::Minitest::ComponentGuideTest
44
+ end
45
+ ```
46
+
30
47
  ### Install gem
31
48
 
32
49
  Add this line to your application's Gemfile in the [development and test groups](http://bundler.io/v1.12/groups.html#grouping-your-dependencies):
@@ -0,0 +1,23 @@
1
+ module GovukPublishingComponents
2
+ module Minitest
3
+ module ComponentGuideTest
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ test "renders all component guide preview pages without erroring" do
8
+ visit '/component-guide'
9
+
10
+ # Confirm accessibility JS test is available
11
+ assert_equal 'function', evaluate_script('typeof window.GOVUK.AccessibilityTest'), "AccessibilityTest JavaScript isn’t available"
12
+ assert_equal 'string', evaluate_script('typeof window.axe.version'), "aXe accessibility test library isn’t available"
13
+
14
+ all(:css, '.component-list a').map { |el| "#{el[:href]}/preview" }.each do |component|
15
+ visit component
16
+ assert page.has_css?(".js-test-a11y-finished"), "Accessibility test did not run on #{component}"
17
+ assert page.has_css?(".js-test-a11y-success"), "Accessibility test found violations on #{component}"
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = '1.7.0'.freeze
2
+ VERSION = '1.8.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_publishing_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
@@ -205,6 +205,7 @@ files:
205
205
  - lib/govuk_publishing_components.rb
206
206
  - lib/govuk_publishing_components/config.rb
207
207
  - lib/govuk_publishing_components/engine.rb
208
+ - lib/govuk_publishing_components/minitest/component_guide_test.rb
208
209
  - lib/govuk_publishing_components/version.rb
209
210
  - lib/tasks/govuk_publishing_components_tasks.rake
210
211
  homepage: https://github.com/alphagov/govuk_publishing_components