qat-web 6.1.1 → 6.1.2

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
  SHA256:
3
- metadata.gz: e6f1ec8c446b1ea163550341bd6a2ef66265e21bd9dd6d2991e32f43b3d9507c
4
- data.tar.gz: 41939bd3fa32fd3dd08dd666309c32a23b900abbad3ee3629ddd8689eaab9192
3
+ metadata.gz: b139c8ff3dd4845860ed7321a1579b2da3862edb80c558ab6fa490925da1745f
4
+ data.tar.gz: 34c03e5fbc0a8a2398a329da7ac8dbf4fa4b01f02df1a36b938f0c5e33629558
5
5
  SHA512:
6
- metadata.gz: added5734bfe8e227f27598c3a581c397f8a5a1b8cd9b345f3dac0b1ea318db1eaa80ad34fd4a4516b60b5acfee5eccc43c5b5c6e2391e36d9e46f503fc4113b
7
- data.tar.gz: 14d5cde76a68f5f5d2e6f80d6550f8aebdc988666e42809bc5eea20e688f44a2d7e56d30de0763ffb0819ba010710296beab173d38ebd010bfe862368771a89b
6
+ metadata.gz: 20dfc0a4cba7e6d58e05f0ae1f22fbcf27e6dacb7e25d8ae4050ad6c03cf89e533878297d5a40e3231f24d105ad3638fcc10e78b08d5a5eb8b3c4839920ff899
7
+ data.tar.gz: ed51c2e09b67d66efd0cad775aee5aa40600a970fa757e74186d2761e8630313b7f21beec498061daf5fbe2535abd3144fe5da788f976c43baeb73b9b18fa487
@@ -1,32 +1,57 @@
1
1
  require_relative '../../../lib/qat/web/version'
2
2
  require 'fileutils'
3
+ require 'gemnasium/parser'
4
+
3
5
  module QAT::Web
4
6
  #Module for the various generators used in the CLI utility
5
7
  #@since 6.1.0
6
8
  module Generator
7
9
  include FileUtils
8
10
  extend FileUtils
9
-
10
11
  # Adds a files QAT Web module to the current project
11
12
  def add_module(stdout, opts)
12
-
13
13
  stdout.puts "Adding files to project" if opts[:verbose]
14
- cp_r ::File.join(::File.dirname(__FILE__), 'generator', 'project', '.'), Dir.pwd, opts
15
- ::File.write('Gemfile', <<-GEMFILE, mode: 'a')
16
-
17
14
 
15
+ # Read GemFile of new project
16
+ path = File.join(Dir.pwd, 'Gemfile')
17
+ has_qatweb = verify_gems path, 'qat-web', verbose: opts[:verbose]
18
+ if has_qatweb
19
+ puts "Module already integrated"
20
+ else
21
+ add_gem_dependency path, 'qat-web', verbose: opts[:verbose], version: QAT::Web::VERSION
22
+ add_gem_dependency path, 'headless', verbose: opts[:verbose]
23
+ add_gem_dependency path, 'selenium-webdriver', verbose: opts[:verbose]
24
+ cp_r ::File.join(::File.dirname(__FILE__), 'generator', 'project', '.'), Dir.pwd, opts
25
+ end
26
+ end
27
+
28
+ def verify_gems (gemfile_path, gem, opts = {})
29
+ file = File.read(gemfile_path)
30
+ gemfile = Gemnasium::Parser.gemfile(file)
31
+ dependencies = gemfile.dependencies
32
+ found_gem = dependencies.find {|i| i.name == gem}
33
+ puts "Found gem: #{found_gem}"
34
+ puts "gem #{gem} found? #{!found_gem.nil?}" if opts[:verbose]
35
+
36
+ if found_gem
37
+ return true
38
+ else
39
+ return false
40
+ end
41
+ end
18
42
 
19
- # QAT-Web is a browser controller for Web testing (https://github.com/readiness-it/qat-web)
20
- gem 'qat-web', '~> 6.1'
43
+ def add_gem_dependency (gemfile_path, gem, opts = {})
44
+ version = opts[:version]
45
+ line = "\n\ngem '#{gem}'#{version ? ", '>= #{version}'" : ''}"
46
+ puts "adding dependencies #{gem} to Gemfile" if opts[:verbose]
47
+ write_to_gemfile gemfile_path, line
48
+ end
21
49
 
22
- # Ruby headless display interface (http://leonid.shevtsov.me/en/headless)
23
- gem 'headless' #optional
24
50
 
25
- # The next generation developer focused tool for automated testing of webapps (https://github.com/seleniumhq/selenium)
26
- gem 'selenium-webdriver' #optional
27
- GEMFILE
51
+ def write_to_gemfile filename, line
52
+ ::File.write(filename, line, mode: 'a')
28
53
  end
29
54
 
30
- module_function :add_module
55
+ module_function :add_module, :write_to_gemfile, :add_gem_dependency, :verify_gems
31
56
  end
32
57
  end
@@ -4,6 +4,6 @@ module QAT
4
4
  #@since 1.0.0
5
5
  module Web
6
6
  # Represents QAT-Web's version
7
- VERSION = '6.1.1'
7
+ VERSION = '6.1.2'
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qat-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.1
4
+ version: 6.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - QAT
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-04 00:00:00.000000000 Z
11
+ date: 2019-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: qat-cucumber
@@ -120,6 +120,20 @@ dependencies:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
+ - !ruby/object:Gem::Dependency
124
+ name: gemnasium-parser
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
130
+ type: :development
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
123
137
  - !ruby/object:Gem::Dependency
124
138
  name: qat-logger
125
139
  requirement: !ruby/object:Gem::Requirement