capybara-angular-material 0.0.10 → 0.0.11
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afd2c1ad54c4cf1184cff22b7aa01d5c631e44ec
|
4
|
+
data.tar.gz: 63c2d10434176e5a8051760dceaeeab514d8b454
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1adf0e5dc7ff733f88b3c339841b34f1687d22144e997e1c83da61ef45eae4fc03f492284ca829ea715819add2410154632651f1249188a71f081b07dfef1987
|
7
|
+
data.tar.gz: 6b2abaa1c541f39217d53f0fb38e5dcbb436bef1a192bbcd414c57159b2d53607800507f531b1a7d9d658aa2477d5af26a9139aef294ac3c029af7e5dbb29a04
|
data/README.md
CHANGED
@@ -7,6 +7,8 @@ This includes a number of selectors for testing [Angular Material](https://mater
|
|
7
7
|
|
8
8
|
This is tested using the capybara/poltergeist driver.
|
9
9
|
|
10
|
+
If you want to test how this works locally, check out this repo, install then run ```rackup -p8000```. You'll see the paths in the app.js file. eg: ```localhost:8000/#/radio```. I'll get around to documenting more later.
|
11
|
+
|
10
12
|
## Installation
|
11
13
|
|
12
14
|
Add this line to your application's Gemfile:
|
@@ -1,10 +1,12 @@
|
|
1
1
|
require 'capybara/angular/material/rspec'
|
2
|
+
require 'capybara/angular/material/node/actions'
|
2
3
|
|
3
4
|
module Capybara
|
4
5
|
module Angular
|
5
6
|
module Material
|
6
|
-
include Capybara::Angular::Material::RSpecMatchers
|
7
7
|
include Capybara::RSpecMatchers
|
8
|
+
include Capybara::Angular::Material::RSpecMatchers
|
9
|
+
include Capybara::Angular::Material::Node::Actions
|
8
10
|
end
|
9
11
|
end
|
10
12
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Capybara
|
2
|
+
module Angular
|
3
|
+
module Material
|
4
|
+
module Node
|
5
|
+
module Actions
|
6
|
+
def md_check(locator)
|
7
|
+
find(:xpath, "//md-checkbox/*/span[normalize-space(text())='#{locator}']").click
|
8
|
+
end
|
9
|
+
|
10
|
+
def md_uncheck(locator)
|
11
|
+
find(:xpath, "//md-checkbox/*/span[normalize-space(text())='#{locator}']").click
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -7,7 +7,7 @@ module Capybara
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def have_md_checkbox(locator, options={})
|
10
|
-
HaveSelector.new(:xpath, "//md-checkbox#{aria_checked(options)}/*/span[normalize-space(text())='#{locator}']")
|
10
|
+
HaveSelector.new(:xpath, "//md-checkbox#{aria_checked(options)}#{ng_disabled(options)}/*/span[normalize-space(text())='#{locator}']")
|
11
11
|
end
|
12
12
|
|
13
13
|
def have_md_radio_button(locator, options={})
|
@@ -23,6 +23,10 @@ module Capybara
|
|
23
23
|
def aria_checked(options)
|
24
24
|
"[@aria-checked='#{options[:checked].to_s}']" if options.has_key?(:checked)
|
25
25
|
end
|
26
|
+
|
27
|
+
def ng_disabled(options)
|
28
|
+
"[@ng-disabled='#{options[:disabled].to_s}']" if options.has_key?(:disabled)
|
29
|
+
end
|
26
30
|
end
|
27
31
|
end
|
28
32
|
end
|
@@ -8,7 +8,16 @@ feature 'Angular Material Demos - Checkbox' do
|
|
8
8
|
expect(page.find('h1')).to have_content 'Capybara Angular Material'
|
9
9
|
end
|
10
10
|
|
11
|
-
it 'is disabled'
|
11
|
+
it 'is disabled' do
|
12
|
+
expect(page).to have_md_checkbox('Checkbox: Disabled', :disabled => true)
|
13
|
+
expect(page).not_to have_md_checkbox('Checkbox: Disabled', :disabled => false)
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'is disabled and checked' do
|
17
|
+
expect(page).to have_md_checkbox('Checkbox: Disabled, Checked', :disabled => true, :checked => true)
|
18
|
+
expect(page).not_to have_md_checkbox('Checkbox: Disabled, Checked', :disabled => false, :checked => true)
|
19
|
+
end
|
20
|
+
|
12
21
|
it 'is not disabled'
|
13
22
|
|
14
23
|
it 'has no checkbox' do
|
@@ -42,4 +51,21 @@ feature 'Angular Material Demos - Checkbox' do
|
|
42
51
|
it 'is checked' do
|
43
52
|
expect(page).not_to have_md_checkbox(checked_locator, :checked => false)
|
44
53
|
end
|
54
|
+
|
55
|
+
feature 'checking/unchecking a checkbox' do
|
56
|
+
scenario 'check unchecked checkbox' do
|
57
|
+
expect(page).to have_md_checkbox(unchecked_locator, :checked => false)
|
58
|
+
md_check(unchecked_locator)
|
59
|
+
expect(page).to have_md_checkbox(unchecked_locator, :checked => true)
|
60
|
+
end
|
61
|
+
|
62
|
+
scenario 'uncheck checked checkbox' do
|
63
|
+
expect(page).to have_md_checkbox('Checkbox 1: true', :checked => true)
|
64
|
+
md_uncheck('Checkbox 1: true')
|
65
|
+
expect(page).to have_md_checkbox('Checkbox 1: false', :checked => false)
|
66
|
+
end
|
67
|
+
|
68
|
+
scenario 'uncheck unchecked checkbox'
|
69
|
+
scenario 'uncheck checked checkbox'
|
70
|
+
end
|
45
71
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-angular-material
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rimian Perkins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -90,7 +90,7 @@ dependencies:
|
|
90
90
|
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
92
|
version: 1.4.6
|
93
|
-
description: Provides selectors to test Angular Material Directives
|
93
|
+
description: Provides selectors to test Angular Material Directives with Capybara
|
94
94
|
email:
|
95
95
|
- hello@rimian.com.au
|
96
96
|
executables: []
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- config.ru
|
113
113
|
- index.html
|
114
114
|
- lib/capybara/angular/material.rb
|
115
|
+
- lib/capybara/angular/material/node/actions.rb
|
115
116
|
- lib/capybara/angular/material/rspec.rb
|
116
117
|
- package.json
|
117
118
|
- spec/features/demos/button_spec.rb
|