capybara_js_helpers 0.0.4 → 0.0.5

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
- SHA1:
3
- metadata.gz: 8bc34786537076641ff04d26ffd9d9a4a3e505a0
4
- data.tar.gz: dba47ef8834dcf9be148cd2ad80066b232dec36c
2
+ SHA256:
3
+ metadata.gz: 50a9ca273bda8487b65c96d98b06771123a13618b9b9b5a20fa046067e759eaf
4
+ data.tar.gz: e240cffb791d748a7ed879d152c26530987787ce634e90f7b11288af97f5cb52
5
5
  SHA512:
6
- metadata.gz: b4638074b566690cf0bd02e68c4db28600a9832236abc948f87144346759eaa63fbbdc1adc094416a9672eaceb3cdd8126722f0255274fa18298d6b124686c58
7
- data.tar.gz: c151e5e19cb9d82b9e0a8a6670140cf2fe7c5717fa55e983396180ad76417322767195b4663f4fb9cabac26c08413a10e212af296b10b2c3257c3c11f8b0f789
6
+ metadata.gz: 0edef30ead0f49190d19398d23a833d244959e65d7faf40d26bc5ffd4610ec8e28260e348e41331148a4da4f5d31b2f8bd160f3ed435ca0c3af50ce2fcc39411
7
+ data.tar.gz: 4980c46875905e7ad1c7429399874797e0892806d13e1da4ba071a1725fef155c19a5cded4c3587001f2471068a1e74ee2915fcf2dbabeb3aec9d1eb3109ffc7
@@ -1,3 +1,20 @@
1
1
  require 'capybara_js_helpers/selectize_helper.rb'
2
2
  require 'capybara_js_helpers/sweet_alert_helper.rb'
3
3
  require 'capybara_js_helpers/ck_editor_helper.rb'
4
+
5
+ module CapybaraJsHelpers
6
+ def self.execute_script(javascript, **variables)
7
+ definitions = []
8
+ arguments = []
9
+
10
+ variables.each_with_index do |(var, value), index|
11
+ definitions << "var #{var} = arguments[#{index}];"
12
+ arguments << value
13
+ end
14
+
15
+ Capybara.current_session.execute_script(
16
+ "#{definitions.join("\n")}\n#{javascript}",
17
+ *arguments
18
+ )
19
+ end
20
+ end
@@ -1,12 +1,11 @@
1
1
  module CapybaraJsHelpers
2
2
  module CkEditorHelper
3
- def ckeditor_fill_in(locator, opts)
4
- content = opts.fetch(:with).to_json
5
- page.execute_script <<-SCRIPT
6
- $(function() {
7
- CKEDITOR.instances['#{locator}'].setData('#{content}');
8
- $('textarea##{locator}').text('#{content}');
9
- });
3
+ def ckeditor_fill_in(locator, with:)
4
+ CapybaraJsHelpers.execute_script <<-SCRIPT, locator: locator, content: with
5
+ $(function() {
6
+ CKEDITOR.instances[locator].setData(content);
7
+ $('textarea#' + locator).text(content);
8
+ });
10
9
  SCRIPT
11
10
  end
12
11
  end
@@ -1,20 +1,35 @@
1
1
  module CapybaraJsHelpers
2
2
  module SelectizeHelper
3
3
  def selectize_add_item(selector, item_value)
4
- selectize_exec(selector, "addItem('#{item_value}')")
4
+ selectize_exec(
5
+ "addItem(item_value)",
6
+ selector: selector,
7
+ item_value: item_value
8
+ )
5
9
  end
6
10
 
7
11
  def selectize_remove_item(selector, item_value)
8
- selectize_exec(selector, "removeItem('#{item_value}')")
12
+ selectize_exec(
13
+ "removeItem(item_value)",
14
+ selector: selector,
15
+ item_value: item_value
16
+ )
9
17
  end
10
18
 
11
19
  def selectize_search(selector, search_term)
12
- selectize_exec(selector, "onSearchChange('#{search_term}')")
13
- selectize_exec(selector, "open()")
20
+ selectize_exec(
21
+ "onSearchChange(search_term)",
22
+ selector: selector,
23
+ search_term: search_term
24
+ )
25
+ selectize_exec("open()", selector: selector)
14
26
  end
15
27
 
16
- def selectize_exec(selector, command)
17
- page.execute_script("$('#{selector}')[0].selectize.#{command}")
28
+ def selectize_exec(command, **options)
29
+ CapybaraJsHelpers.execute_script(
30
+ "$(selector)[0].selectize.#{command}",
31
+ **options
32
+ )
18
33
  end
19
34
  end
20
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara_js_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Createk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-23 00:00:00.000000000 Z
11
+ date: 2020-08-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Capybara helpers for JS plug-ins
14
14
  email: contact@createk.io
@@ -39,8 +39,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  requirements: []
42
- rubyforge_project:
43
- rubygems_version: 2.5.1
42
+ rubygems_version: 3.1.2
44
43
  signing_key:
45
44
  specification_version: 4
46
45
  summary: Capybara JavaScript Helpers