cucumber_helper 0.0.8

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.
@@ -0,0 +1,4 @@
1
+ After do |scenario|
2
+ # to update testcase status on testrail
3
+ test_rail_integration(ENV.fetch('TESTRAIL_RUN', nil), scenario_id, scenario.status.to_s) if ENV['is_testrail_update'].eql?('true') && !(ENV['TESTRAIL_RUN'].empty? || ENV['TESTRAIL_RUN'].nil?)
4
+ end
@@ -0,0 +1,50 @@
1
+ require 'site_prism'
2
+
3
+ module CucumberHelper
4
+ module Web
5
+ class TableSection < SitePrism::Section
6
+ elements :headers, 'thead tr th'
7
+ elements :rows, 'tbody tr'
8
+
9
+ def comparison(exact_text)
10
+ exact_text ? 'eql?' : 'include?'
11
+ end
12
+
13
+ def headers_title
14
+ headers.map(&:text).reject(&:empty?)
15
+ end
16
+
17
+ def click_header(name, exact_text: false, sort_arrow: false, sort_path: 'svg[data-icon-name^=sort]')
18
+ headers.find { |x| x.text.send(comparison(exact_text), name) }.click unless sort_arrow
19
+ headers.find { |x| x.text.send(comparison(exact_text), name) }.find(sort_path).click if sort_arrow
20
+ end
21
+
22
+ def columns(name, exact_text: false)
23
+ columns = []
24
+ id = headers.index { |x| x.text.send(comparison(exact_text), name) }
25
+ rows.each do |r|
26
+ columns << r.find_all('td')[id]
27
+ end
28
+ columns
29
+ end
30
+
31
+ def data_row_as_text(row_number)
32
+ data = {}
33
+ row = rows[row_number].find_all('td')
34
+ headers.map(&:text).each_with_index do |h, x|
35
+ data[h] = row[x].text
36
+ end
37
+ data
38
+ end
39
+
40
+ def data_column_as_text(name, exact_text: false)
41
+ columns(name, exact_text: exact_text).map(&:text)
42
+ end
43
+
44
+ # to click data that have/exact text in specific column
45
+ def click_data_in_column(col_name, text, exact_text: false)
46
+ columns(col_name, exact_text: exact_text).find { |d| d.text.send(comparison(exact_text), text) }.click
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'cucumber_helper/commons'
4
+
5
+ require 'cucumber_helper/web/hooks'
6
+ require 'cucumber_helper/web/helpers'
7
+ require 'cucumber_helper/web/table_helper'
8
+
9
+ require 'cucumber_helper/testrail/testrail'
10
+ require 'cucumber_helper/testrail/test_rail_integration'
11
+
12
+ require 'rest-client'
13
+ require 'json-schema'
14
+ require 'json'
15
+ require 'jsonpath'
16
+
17
+ include CucumberHelper::Web
18
+ include CucumberHelper::Web::Helpers
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'json'
4
+ require 'jsonpath'
5
+ require 'rest-client'
metadata ADDED
@@ -0,0 +1,66 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cucumber_helper
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.8
5
+ platform: ruby
6
+ authors:
7
+ - Fikri Ramadhan
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-06-23 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: " It aims to maintain our minimize maintaining time for our repository.\n"
14
+ email: fikri.ramadhan@mekari.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files:
18
+ - README.md
19
+ files:
20
+ - README.md
21
+ - lib/cucumber_helper.rb
22
+ - lib/cucumber_helper/api.rb
23
+ - lib/cucumber_helper/api/helpers.rb
24
+ - lib/cucumber_helper/api/hooks.rb
25
+ - lib/cucumber_helper/api/response.rb
26
+ - lib/cucumber_helper/commons.rb
27
+ - lib/cucumber_helper/commons/command_helpers.rb
28
+ - lib/cucumber_helper/commons/test_data_helper.rb
29
+ - lib/cucumber_helper/commons/user_data_helper.rb
30
+ - lib/cucumber_helper/support.rb
31
+ - lib/cucumber_helper/support/env_helper.rb
32
+ - lib/cucumber_helper/support/hooks_helper.rb
33
+ - lib/cucumber_helper/testrail/test_rail_integration.rb
34
+ - lib/cucumber_helper/testrail/testrail.rb
35
+ - lib/cucumber_helper/version.rb
36
+ - lib/cucumber_helper/web.rb
37
+ - lib/cucumber_helper/web/helpers.rb
38
+ - lib/cucumber_helper/web/hooks.rb
39
+ - lib/cucumber_helper/web/table_helper.rb
40
+ homepage: https://rubygems.org/gems/mekari_testrail
41
+ licenses:
42
+ - CPAL-1.0
43
+ metadata:
44
+ homepage_uri: https://rubygems.org/gems/mekari_testrail
45
+ changelog_uri: https://rubygems.org/gems/mekari_testrail
46
+ source_code_uri: https://rubygems.org/gems/mekari_testrail
47
+ post_install_message:
48
+ rdoc_options: []
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 3.0.0
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements: []
62
+ rubygems_version: 3.3.26
63
+ signing_key:
64
+ specification_version: 4
65
+ summary: Helper for our cucumber repo
66
+ test_files: []