haya_select_helpers 0.0.1 → 0.0.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
  SHA256:
3
- metadata.gz: a348101b6da85afd0df9db80c82d5cd188be662db011e0995a35d45f89f00045
4
- data.tar.gz: 59c5485f9bbe4a83fbd3aa3651ea6c3ab23e1a558533295d2c8e0554fd2cef8a
3
+ metadata.gz: 920b25cd6ca94c0254e5015fe26eb00e3963fc099daf70e5239a2cb73d2c895f
4
+ data.tar.gz: b43fa0f440db0204c19388aa9a1de84d54a4f043fdf18de2ca68396db97a6cc7
5
5
  SHA512:
6
- metadata.gz: 74fdca47f2d4c9e0197c3d989863745558b9d947bc2d7d01c03b6ab80f8efbff58aa613654c8852480cd17bfd3d98135ab737f2818dcb3a457d846234d8544b7
7
- data.tar.gz: d5792877058bdf08a880a4924e4bdb48fee81b34ea4c07ba242e590de4ad78a3b6ebbd68c4561577a7e9e93008467b7978defa0c63caf914edef66efd9f7ecf2
6
+ metadata.gz: 1ac61350b55267121ae981b1c36cf129a216b0cdc187c7a982e849696e0a6aea98cb10e09869d1bb91cbfe0aa99ff8c6978f5f79abc988abb03822a6fbcb8852
7
+ data.tar.gz: ea80ed936afe736e73ce24840a37b57df0197ad73e8a1e27c4e9c6bcf9186d779d561572eb087bbb2ebccb8d4ada9cea214373439394acf773f0368d6492fb06
data/README.md CHANGED
@@ -2,7 +2,12 @@
2
2
  Short description and motivation.
3
3
 
4
4
  ## Usage
5
- How to use my plugin.
5
+
6
+ ## Wait for an option to be selected by label:
7
+
8
+ ```ruby
9
+ haya_select("class_school_id").wait_for_label("School")
10
+ ```
6
11
 
7
12
  ## Installation
8
13
  Add this line to your application's Gemfile:
data/lib/haya_select.rb CHANGED
@@ -13,6 +13,8 @@ class HayaSelect
13
13
 
14
14
  def label
15
15
  wait_for_and_find("#{base_selector} .haya-select-current-selected .current-option").text
16
+ rescue Selenium::WebDriver::Error::StaleElementReferenceError
17
+ retry
16
18
  end
17
19
 
18
20
  def open
@@ -33,6 +35,8 @@ class HayaSelect
33
35
  value: option_element["data-value"]
34
36
  }
35
37
  end
38
+ rescue Selenium::WebDriver::Error::StaleElementReferenceError
39
+ retry
36
40
  end
37
41
 
38
42
  def wait_for_options(expected_options)
@@ -43,6 +47,8 @@ class HayaSelect
43
47
 
44
48
  def search(value)
45
49
  wait_for_and_find("#{base_selector} .haya-select-search-text-input").set(value)
50
+ rescue Selenium::WebDriver::Error::StaleElementReferenceError
51
+ retry
46
52
  end
47
53
 
48
54
  def select(label)
@@ -56,10 +62,14 @@ class HayaSelect
56
62
  def select_option(label:)
57
63
  wait_for_and_find("#{options_selector} .haya-select-option", exact_text: label).click
58
64
  self
65
+ rescue Selenium::WebDriver::Error::StaleElementReferenceError
66
+ retry
59
67
  end
60
68
 
61
69
  def value
62
70
  wait_for_and_find("#{base_selector} .haya-select-current-selected input[type='hidden']", visible: false)[:value]
71
+ rescue Selenium::WebDriver::Error::StaleElementReferenceError
72
+ retry
63
73
  end
64
74
 
65
75
  def wait_for_label(expected_label)
@@ -67,17 +77,21 @@ class HayaSelect
67
77
  self
68
78
  end
69
79
 
80
+ def toggles
81
+ all("#{base_selector} .haya-select-option-presentation").map do |element|
82
+ {
83
+ toggle_icon: element["data-toggle-icon"],
84
+ toggle_value: element["data-toggle-value"],
85
+ value: element["data-value"]
86
+ }
87
+ end
88
+ rescue Selenium::WebDriver::Error::StaleElementReferenceError
89
+ retry
90
+ end
91
+
70
92
  def wait_for_toggles(expected_toggles)
71
93
  wait_for_expect do
72
- actual_toggles = all(".haya-select-option-presentation").map do |element|
73
- {
74
- toggle_icon: element["data-toggle-icon"],
75
- toggle_value: element["data-toggle-value"],
76
- value: element["data-value"]
77
- }
78
- end
79
-
80
- expect(actual_toggles).to eq expected_toggles
94
+ expect(toggles).to eq expected_toggles
81
95
  end
82
96
  end
83
97
 
@@ -1,3 +1,3 @@
1
1
  module HayaSelectHelpers
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: haya_select_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - kaspernj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-19 00:00:00.000000000 Z
11
+ date: 2022-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails