harpiya_dev_tools 0.1.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.
- checksums.yaml +7 -0
- data/.bundle/config +2 -0
- data/.gitignore +23 -0
- data/Gemfile +3 -0
- data/LICENSE +26 -0
- data/README.md +29 -0
- data/harpiya_dev_tools.gemspec +53 -0
- data/lib/harpiya/testing_support/auth_helpers.rb +36 -0
- data/lib/harpiya/testing_support/checkout_helpers.rb +24 -0
- data/lib/harpiya_dev_tools.rb +1 -0
- data/lib/harpiya_dev_tools/rspec/spec_helper.rb +43 -0
- data/lib/harpiya_dev_tools/rspec/support/authentication_helpers.rb +13 -0
- data/lib/harpiya_dev_tools/rspec/support/capybara.rb +27 -0
- data/lib/harpiya_dev_tools/rspec/support/database_cleaner.rb +25 -0
- data/lib/harpiya_dev_tools/rspec/support/devise.rb +19 -0
- data/lib/harpiya_dev_tools/rspec/support/factory_bot.rb +12 -0
- data/lib/harpiya_dev_tools/rspec/support/harpiya.rb +66 -0
- data/lib/harpiya_dev_tools/rspec/support/harpiya_cart.rb +35 -0
- data/lib/harpiya_dev_tools/rspec/support/simplecov.rb +10 -0
- data/lib/harpiya_dev_tools/version.rb +9 -0
- metadata +468 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d90d82b5380f48b09cc3c1228cb71f2dc8ef847942430752f3ee95c32118bfe3
|
4
|
+
data.tar.gz: 898ab74bf30f59f2a86d70cf7e1fd2dc6826ddc57a3154f09206854df5f76546
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c9f2235d80fd54f254928964c2493956dfc3372ebe01181531296ed6242402ef87f345fd9355524e6b7404bcc842de4a1df972d12f769279d10dc8e82aa89506
|
7
|
+
data.tar.gz: 69acecc7a1d303b8af87ecca99d851faa99fa2b86c4fdba9c7110e72b7cf7d7a782071370fa155c786f21cd2a8d1baa92bbdfd745ead254ab292515100ef958c
|
data/.bundle/config
ADDED
data/.gitignore
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
\#*
|
2
|
+
*~
|
3
|
+
.#*
|
4
|
+
.DS_Store
|
5
|
+
.idea
|
6
|
+
.localeapp/locales
|
7
|
+
.project
|
8
|
+
.vscode
|
9
|
+
coverage
|
10
|
+
default
|
11
|
+
Gemfile.lock
|
12
|
+
tmp
|
13
|
+
nbproject
|
14
|
+
pkg
|
15
|
+
*.sw?
|
16
|
+
spec/dummy
|
17
|
+
.rvmrc
|
18
|
+
.sass-cache
|
19
|
+
public/harpiya
|
20
|
+
.ruby-version
|
21
|
+
.ruby-gemset
|
22
|
+
gemfiles/*.gemfile.lock
|
23
|
+
*.gem
|
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
Copyright (c) 2021 Spark Solutions Sp. z o.o.
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
Redistribution and use in source and binary forms, with or without modification,
|
5
|
+
are permitted provided that the following conditions are met:
|
6
|
+
|
7
|
+
* Redistributions of source code must retain the above copyright notice,
|
8
|
+
this list of conditions and the following disclaimer.
|
9
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
10
|
+
this list of conditions and the following disclaimer in the documentation
|
11
|
+
and/or other materials provided with the distribution.
|
12
|
+
* Neither the name Harpiya nor the names of its contributors may be used to
|
13
|
+
endorse or promote products derived from this software without specific
|
14
|
+
prior written permission.
|
15
|
+
|
16
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
20
|
+
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
21
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
22
|
+
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
23
|
+
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
24
|
+
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
25
|
+
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
26
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Harpiya Developer Tools
|
2
|
+
|
3
|
+
This gem includes:
|
4
|
+
|
5
|
+
* all dependencies to run Harpiya applications in development and test environments
|
6
|
+
* configuration for testing environment
|
7
|
+
* rspec and capybara helpers
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add it to your `Gemfile`
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem 'harpiya_dev_tools'
|
15
|
+
```
|
16
|
+
|
17
|
+
And run...
|
18
|
+
|
19
|
+
```bash
|
20
|
+
bundle install
|
21
|
+
```
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
If you'd like to contribute, please take a look at the
|
26
|
+
[instructions](CONTRIBUTING.md) for installing dependencies and crafting a good
|
27
|
+
pull request.
|
28
|
+
|
29
|
+
Copyright (c) 2020 Spark Solutions, released under the New BSD License
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
lib = File.expand_path('../lib/', __FILE__)
|
3
|
+
$LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
require 'harpiya_dev_tools/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.name = 'harpiya_dev_tools'
|
10
|
+
s.version = HarpiyaDevTools::VERSION
|
11
|
+
s.summary = 'Harpiya Dev Tools'
|
12
|
+
s.description = 'Harpiya Developer Tools'
|
13
|
+
s.required_ruby_version = '>= 2.3.0'
|
14
|
+
|
15
|
+
s.author = 'Harpiya Software Technologies'
|
16
|
+
s.email = 'info@harpiya.com'
|
17
|
+
s.homepage = 'https://github.com/harpiyacloud/harpiya_dev_tools'
|
18
|
+
s.license = 'BSD-3-Clause'
|
19
|
+
|
20
|
+
s.files = `git ls-files`.split("\n").reject { |f| f.match(/^spec/) && !f.match(/^spec\/fixtures/) }
|
21
|
+
s.require_path = 'lib'
|
22
|
+
s.requirements << 'none'
|
23
|
+
|
24
|
+
s.add_dependency 'appraisal'
|
25
|
+
s.add_dependency 'awesome_print'
|
26
|
+
s.add_dependency 'capybara'
|
27
|
+
s.add_dependency 'capybara-screenshot'
|
28
|
+
s.add_dependency 'capybara-select-2'
|
29
|
+
s.add_dependency 'coffee-rails'
|
30
|
+
s.add_dependency 'database_cleaner'
|
31
|
+
s.add_dependency 'factory_bot', '~> 4.7'
|
32
|
+
s.add_dependency 'ffaker'
|
33
|
+
s.add_dependency 'gem-release'
|
34
|
+
s.add_dependency 'github_changelog_generator'
|
35
|
+
s.add_dependency 'jsonapi-rspec'
|
36
|
+
s.add_dependency 'mysql2'
|
37
|
+
s.add_dependency 'pg'
|
38
|
+
s.add_dependency 'pry'
|
39
|
+
s.add_dependency 'puma'
|
40
|
+
s.add_dependency 'rails-controller-testing'
|
41
|
+
s.add_dependency 'rspec-activemodel-mocks'
|
42
|
+
s.add_dependency 'rspec-rails', '~> 4.0'
|
43
|
+
s.add_dependency 'rspec-retry'
|
44
|
+
s.add_dependency 'rubocop'
|
45
|
+
s.add_dependency 'rubocop-rails'
|
46
|
+
s.add_dependency 'sass-rails'
|
47
|
+
s.add_dependency 'selenium-webdriver'
|
48
|
+
s.add_dependency 'simplecov'
|
49
|
+
s.add_dependency 'harpiya_core'
|
50
|
+
s.add_dependency 'sqlite3'
|
51
|
+
s.add_dependency 'timecop'
|
52
|
+
s.add_dependency 'webdrivers', '~> 4.3'
|
53
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Harpiya
|
2
|
+
module TestingSupport
|
3
|
+
module AuthHelpers
|
4
|
+
def log_in(email:, password:, remember_me: true)
|
5
|
+
visit harpiya.login_path
|
6
|
+
|
7
|
+
fill_in 'Email', with: email
|
8
|
+
fill_in 'Password', with: password
|
9
|
+
|
10
|
+
# Regression test for #1257
|
11
|
+
first('label', text: 'Remember me').click if remember_me
|
12
|
+
click_button 'Log in'
|
13
|
+
|
14
|
+
expect(page).to have_content 'Logged in successfully'
|
15
|
+
end
|
16
|
+
|
17
|
+
def log_out
|
18
|
+
show_user_menu
|
19
|
+
click_link 'LOG OUT'
|
20
|
+
|
21
|
+
expect(page).to have_content 'Signed out successfully'
|
22
|
+
end
|
23
|
+
|
24
|
+
def show_user_menu
|
25
|
+
find("button[aria-label='Show user menu']").click
|
26
|
+
end
|
27
|
+
|
28
|
+
def show_user_account
|
29
|
+
within '#nav-bar' do
|
30
|
+
show_user_menu
|
31
|
+
click_link 'MY ACCOUNT'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Harpiya
|
2
|
+
module TestingSupport
|
3
|
+
module CheckoutHelpers
|
4
|
+
def fill_in_address
|
5
|
+
address = 'order_bill_address_attributes'
|
6
|
+
fill_in "#{address}_firstname", with: 'Ryan'
|
7
|
+
fill_in "#{address}_lastname", with: 'Bigg'
|
8
|
+
fill_in "#{address}_address1", with: '143 Swan Street'
|
9
|
+
fill_in "#{address}_city", with: 'Richmond'
|
10
|
+
select country.name, from: "#{address}_country_id"
|
11
|
+
select state.name, from: "#{address}_state_id"
|
12
|
+
fill_in "#{address}_zipcode", with: '12345'
|
13
|
+
fill_in "#{address}_phone", with: '(555) 555-5555'
|
14
|
+
end
|
15
|
+
|
16
|
+
def fill_in_credit_card_info(invalid: false)
|
17
|
+
fill_in 'name_on_card', with: 'Harpiya Commerce'
|
18
|
+
fill_in 'card_number', with: invalid ? '123' : '4111 1111 1111 1111'
|
19
|
+
fill_in 'card_expiry', with: '12 / 24'
|
20
|
+
fill_in 'card_code', with: '123'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'harpiya_dev_tools/version'
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# Run Coverage report
|
2
|
+
require 'rspec/rails'
|
3
|
+
require 'rspec/active_model/mocks'
|
4
|
+
require 'rspec/retry'
|
5
|
+
require 'ffaker'
|
6
|
+
require 'pry'
|
7
|
+
|
8
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
9
|
+
# in spec/support/ and its subdirectories.
|
10
|
+
Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].sort.each { |f| require f }
|
11
|
+
|
12
|
+
RSpec.configure do |config|
|
13
|
+
# Infer an example group's spec type from the file location.
|
14
|
+
config.infer_spec_type_from_file_location!
|
15
|
+
|
16
|
+
# == Mock Framework
|
17
|
+
#
|
18
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
19
|
+
#
|
20
|
+
# config.mock_with :mocha
|
21
|
+
# config.mock_with :flexmock
|
22
|
+
# config.mock_with :rr
|
23
|
+
config.mock_with :rspec
|
24
|
+
config.color = true
|
25
|
+
config.default_formatter = 'doc'
|
26
|
+
|
27
|
+
# Capybara javascript drivers require transactional fixtures set to false, and we use DatabaseCleaner
|
28
|
+
# to cleanup after each test instead. Without transactional fixtures set to false the records created
|
29
|
+
# to setup a test will be unavailable to the browser, which runs under a separate server instance.
|
30
|
+
config.use_transactional_fixtures = false
|
31
|
+
|
32
|
+
config.fail_fast = ENV['FAIL_FAST'] || false
|
33
|
+
config.order = 'random'
|
34
|
+
|
35
|
+
# show retry status in spec process
|
36
|
+
config.verbose_retry = true
|
37
|
+
# show exception that triggers a retry if verbose_retry is set to true
|
38
|
+
config.display_try_failure_messages = true
|
39
|
+
|
40
|
+
config.around :each, :js do |ex|
|
41
|
+
ex.run_with_retry retry: 3
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module AuthenticationHelpers
|
2
|
+
def sign_in_as!(user)
|
3
|
+
visit '/login'
|
4
|
+
fill_in 'Email', with: user.email
|
5
|
+
fill_in 'Password', with: 'secret'
|
6
|
+
click_button 'Log in'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
RSpec.configure do |config|
|
11
|
+
config.include AuthenticationHelpers, type: :feature
|
12
|
+
config.include Rack::Test::Methods, type: :feature
|
13
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'capybara/rspec'
|
2
|
+
require 'capybara-screenshot'
|
3
|
+
require 'capybara-screenshot/rspec'
|
4
|
+
require 'capybara/rails'
|
5
|
+
require 'selenium-webdriver'
|
6
|
+
require 'capybara-select-2'
|
7
|
+
|
8
|
+
RSpec.configure do |config|
|
9
|
+
Capybara.register_driver :chrome do |app|
|
10
|
+
Selenium::WebDriver.logger.level = :error
|
11
|
+
|
12
|
+
Capybara::Selenium::Driver.new app,
|
13
|
+
browser: :chrome,
|
14
|
+
options: Selenium::WebDriver::Chrome::Options.new(
|
15
|
+
args: %w[no-sandbox disable-dev-shm-usage disable-popup-blocking headless disable-gpu window-size=1920,1080 --enable-features=NetworkService,NetworkServiceInProcess --disable-features=VizDisplayCompositor],
|
16
|
+
log_level: :error
|
17
|
+
)
|
18
|
+
end
|
19
|
+
Capybara.javascript_driver = :chrome
|
20
|
+
|
21
|
+
Capybara::Screenshot.register_driver(:chrome) do |driver, path|
|
22
|
+
driver.browser.save_screenshot(path)
|
23
|
+
end
|
24
|
+
|
25
|
+
config.include CapybaraSelect2
|
26
|
+
config.include CapybaraSelect2::Helpers
|
27
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'database_cleaner'
|
2
|
+
|
3
|
+
RSpec.configure do |config|
|
4
|
+
config.before(:suite) do
|
5
|
+
DatabaseCleaner.clean_with :truncation
|
6
|
+
end
|
7
|
+
|
8
|
+
config.before do
|
9
|
+
DatabaseCleaner.strategy = :transaction
|
10
|
+
end
|
11
|
+
|
12
|
+
# Before each spec check if it is a Javascript test and switch between using database transactions or not where necessary.
|
13
|
+
config.before(:each, :js) do
|
14
|
+
DatabaseCleaner.strategy = :truncation
|
15
|
+
end
|
16
|
+
|
17
|
+
config.before do
|
18
|
+
DatabaseCleaner.start
|
19
|
+
end
|
20
|
+
|
21
|
+
# After each spec clean the database.
|
22
|
+
config.append_after do
|
23
|
+
DatabaseCleaner.clean
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
if defined?(Warden)
|
2
|
+
include Warden::Test::Helpers
|
3
|
+
Warden.test_mode!
|
4
|
+
end
|
5
|
+
|
6
|
+
if defined?(Devise)
|
7
|
+
RSpec.configure do |config|
|
8
|
+
config.before(:each, type: :controller) do
|
9
|
+
@request.env['devise.mapping'] = Devise.mappings[:harpiya_user]
|
10
|
+
end
|
11
|
+
|
12
|
+
config.include Devise::Test::ControllerHelpers, type: :controller
|
13
|
+
|
14
|
+
config.include Warden::Test::Helpers
|
15
|
+
config.before :suite do
|
16
|
+
Warden.test_mode!
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'factory_bot'
|
2
|
+
|
3
|
+
FactoryBot.find_definitions
|
4
|
+
|
5
|
+
RSpec.configure do |config|
|
6
|
+
config.include FactoryBot::Syntax::Methods
|
7
|
+
end
|
8
|
+
|
9
|
+
# enable factories decorators
|
10
|
+
Dir[Rails.root.join('spec/factories/harpiya/**/*.rb')].sort.each do |factory|
|
11
|
+
require factory if factory =~ /decorator/
|
12
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# Requires factories and other useful helpers defined in harpiya_core.
|
2
|
+
require 'harpiya/testing_support/authorization_helpers'
|
3
|
+
require 'harpiya/testing_support/capybara_ext'
|
4
|
+
require 'harpiya/testing_support/factories'
|
5
|
+
require 'harpiya/testing_support/preferences'
|
6
|
+
require 'harpiya/testing_support/controller_requests'
|
7
|
+
require 'harpiya/testing_support/flash'
|
8
|
+
require 'harpiya/testing_support/url_helpers'
|
9
|
+
require 'harpiya/testing_support/order_walkthrough'
|
10
|
+
require 'harpiya/testing_support/auth_helpers'
|
11
|
+
require 'harpiya/testing_support/checkout_helpers'
|
12
|
+
require 'harpiya/testing_support/caching'
|
13
|
+
|
14
|
+
# API helpers
|
15
|
+
if defined?(Harpiya::Api)
|
16
|
+
require 'harpiya/api/testing_support/helpers'
|
17
|
+
require 'harpiya/api/testing_support/setup'
|
18
|
+
end
|
19
|
+
|
20
|
+
# API v2 helpers
|
21
|
+
if defined?(Harpiya::Api) && Harpiya.version.to_f >= 3.7
|
22
|
+
require 'jsonapi/rspec'
|
23
|
+
require 'harpiya/api/testing_support/v2/base'
|
24
|
+
require 'harpiya/api/testing_support/v2/current_order'
|
25
|
+
end
|
26
|
+
|
27
|
+
RSpec.configure do |config|
|
28
|
+
# Infer an example group's spec type from the file location.
|
29
|
+
config.infer_spec_type_from_file_location!
|
30
|
+
|
31
|
+
# == URL Helpers
|
32
|
+
#
|
33
|
+
# Allows access to Harpiya's routes in specs:
|
34
|
+
#
|
35
|
+
# visit harpiya.admin_path
|
36
|
+
# current_path.should eql(harpiya.products_path)
|
37
|
+
config.include Harpiya::TestingSupport::UrlHelpers
|
38
|
+
|
39
|
+
# == Requests support
|
40
|
+
#
|
41
|
+
# Adds convenient methods to request Harpiya's controllers
|
42
|
+
# harpiya_get :index
|
43
|
+
config.include Harpiya::TestingSupport::ControllerRequests, type: :controller
|
44
|
+
|
45
|
+
config.include Harpiya::TestingSupport::Preferences
|
46
|
+
config.include Harpiya::TestingSupport::Flash
|
47
|
+
|
48
|
+
config.include Harpiya::TestingSupport::AuthHelpers, type: :feature
|
49
|
+
config.include Harpiya::TestingSupport::CheckoutHelpers, type: :feature
|
50
|
+
|
51
|
+
if defined?(Harpiya::Api)
|
52
|
+
config.include Harpiya::Api::TestingSupport::Helpers # needed for API v1
|
53
|
+
config.extend Harpiya::Api::TestingSupport::Setup, type: :request
|
54
|
+
end
|
55
|
+
if Harpiya.version.to_f >= 3.7
|
56
|
+
config.include JSONAPI::RSpec, type: :request # required for API v2 request specs
|
57
|
+
end
|
58
|
+
|
59
|
+
config.before :each do
|
60
|
+
Rails.cache.clear
|
61
|
+
reset_harpiya_preferences do |config|
|
62
|
+
# config.my_custom_preference = 10
|
63
|
+
end
|
64
|
+
create(:store)
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
def update_cart
|
2
|
+
if Harpiya.version.to_f < 4.1
|
3
|
+
click_button 'update-button'
|
4
|
+
else
|
5
|
+
page.execute_script("$('form#update-cart').submit()")
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
def cart_container
|
10
|
+
if Harpiya.version.to_f < 4.1
|
11
|
+
find_all("#cart-detail tbody tr:first-child").first
|
12
|
+
else
|
13
|
+
find_all("#cart-detail .shopping-cart-item").first
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def add_to_cart(product)
|
18
|
+
visit harpiya.product_path(product)
|
19
|
+
|
20
|
+
expect(page).to have_selector('form#add-to-cart-form')
|
21
|
+
expect(page).to have_selector(:button, id: 'add-to-cart-button', disabled: false)
|
22
|
+
|
23
|
+
yield if block_given?
|
24
|
+
|
25
|
+
click_button 'add-to-cart-button'
|
26
|
+
|
27
|
+
if Harpiya.version.to_f < 4.1
|
28
|
+
wait_for_condition do
|
29
|
+
expect(page).to have_content(Harpiya.t(:cart))
|
30
|
+
end
|
31
|
+
else
|
32
|
+
expect(page).to have_content(Harpiya.t(:added_to_cart))
|
33
|
+
visit harpiya.cart_path
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
|
3
|
+
SimpleCov.start do
|
4
|
+
add_group 'Controllers', 'app/controllers'
|
5
|
+
add_group 'Helpers', 'app/helpers'
|
6
|
+
add_group 'Mailers', 'app/mailers'
|
7
|
+
add_group 'Models', 'app/models'
|
8
|
+
add_group 'Views', 'app/views'
|
9
|
+
add_group 'Libraries', 'lib/harpiya'
|
10
|
+
end
|
metadata
ADDED
@@ -0,0 +1,468 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: harpiya_dev_tools
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.8
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Harpiya Software Technologies
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-07-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: appraisal
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: awesome_print
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: capybara
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: capybara-screenshot
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: capybara-select-2
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: coffee-rails
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: database_cleaner
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: factory_bot
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '4.7'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '4.7'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: ffaker
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: gem-release
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: github_changelog_generator
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: jsonapi-rspec
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: mysql2
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: pg
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: pry
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: puma
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: rails-controller-testing
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :runtime
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: rspec-activemodel-mocks
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: rspec-rails
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - "~>"
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '4.0'
|
272
|
+
type: :runtime
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - "~>"
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '4.0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: rspec-retry
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
286
|
+
type: :runtime
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ">="
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '0'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: rubocop
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - ">="
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '0'
|
300
|
+
type: :runtime
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - ">="
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '0'
|
307
|
+
- !ruby/object:Gem::Dependency
|
308
|
+
name: rubocop-rails
|
309
|
+
requirement: !ruby/object:Gem::Requirement
|
310
|
+
requirements:
|
311
|
+
- - ">="
|
312
|
+
- !ruby/object:Gem::Version
|
313
|
+
version: '0'
|
314
|
+
type: :runtime
|
315
|
+
prerelease: false
|
316
|
+
version_requirements: !ruby/object:Gem::Requirement
|
317
|
+
requirements:
|
318
|
+
- - ">="
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: '0'
|
321
|
+
- !ruby/object:Gem::Dependency
|
322
|
+
name: sass-rails
|
323
|
+
requirement: !ruby/object:Gem::Requirement
|
324
|
+
requirements:
|
325
|
+
- - ">="
|
326
|
+
- !ruby/object:Gem::Version
|
327
|
+
version: '0'
|
328
|
+
type: :runtime
|
329
|
+
prerelease: false
|
330
|
+
version_requirements: !ruby/object:Gem::Requirement
|
331
|
+
requirements:
|
332
|
+
- - ">="
|
333
|
+
- !ruby/object:Gem::Version
|
334
|
+
version: '0'
|
335
|
+
- !ruby/object:Gem::Dependency
|
336
|
+
name: selenium-webdriver
|
337
|
+
requirement: !ruby/object:Gem::Requirement
|
338
|
+
requirements:
|
339
|
+
- - ">="
|
340
|
+
- !ruby/object:Gem::Version
|
341
|
+
version: '0'
|
342
|
+
type: :runtime
|
343
|
+
prerelease: false
|
344
|
+
version_requirements: !ruby/object:Gem::Requirement
|
345
|
+
requirements:
|
346
|
+
- - ">="
|
347
|
+
- !ruby/object:Gem::Version
|
348
|
+
version: '0'
|
349
|
+
- !ruby/object:Gem::Dependency
|
350
|
+
name: simplecov
|
351
|
+
requirement: !ruby/object:Gem::Requirement
|
352
|
+
requirements:
|
353
|
+
- - ">="
|
354
|
+
- !ruby/object:Gem::Version
|
355
|
+
version: '0'
|
356
|
+
type: :runtime
|
357
|
+
prerelease: false
|
358
|
+
version_requirements: !ruby/object:Gem::Requirement
|
359
|
+
requirements:
|
360
|
+
- - ">="
|
361
|
+
- !ruby/object:Gem::Version
|
362
|
+
version: '0'
|
363
|
+
- !ruby/object:Gem::Dependency
|
364
|
+
name: harpiya_core
|
365
|
+
requirement: !ruby/object:Gem::Requirement
|
366
|
+
requirements:
|
367
|
+
- - ">="
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: '0'
|
370
|
+
type: :runtime
|
371
|
+
prerelease: false
|
372
|
+
version_requirements: !ruby/object:Gem::Requirement
|
373
|
+
requirements:
|
374
|
+
- - ">="
|
375
|
+
- !ruby/object:Gem::Version
|
376
|
+
version: '0'
|
377
|
+
- !ruby/object:Gem::Dependency
|
378
|
+
name: sqlite3
|
379
|
+
requirement: !ruby/object:Gem::Requirement
|
380
|
+
requirements:
|
381
|
+
- - ">="
|
382
|
+
- !ruby/object:Gem::Version
|
383
|
+
version: '0'
|
384
|
+
type: :runtime
|
385
|
+
prerelease: false
|
386
|
+
version_requirements: !ruby/object:Gem::Requirement
|
387
|
+
requirements:
|
388
|
+
- - ">="
|
389
|
+
- !ruby/object:Gem::Version
|
390
|
+
version: '0'
|
391
|
+
- !ruby/object:Gem::Dependency
|
392
|
+
name: timecop
|
393
|
+
requirement: !ruby/object:Gem::Requirement
|
394
|
+
requirements:
|
395
|
+
- - ">="
|
396
|
+
- !ruby/object:Gem::Version
|
397
|
+
version: '0'
|
398
|
+
type: :runtime
|
399
|
+
prerelease: false
|
400
|
+
version_requirements: !ruby/object:Gem::Requirement
|
401
|
+
requirements:
|
402
|
+
- - ">="
|
403
|
+
- !ruby/object:Gem::Version
|
404
|
+
version: '0'
|
405
|
+
- !ruby/object:Gem::Dependency
|
406
|
+
name: webdrivers
|
407
|
+
requirement: !ruby/object:Gem::Requirement
|
408
|
+
requirements:
|
409
|
+
- - "~>"
|
410
|
+
- !ruby/object:Gem::Version
|
411
|
+
version: '4.3'
|
412
|
+
type: :runtime
|
413
|
+
prerelease: false
|
414
|
+
version_requirements: !ruby/object:Gem::Requirement
|
415
|
+
requirements:
|
416
|
+
- - "~>"
|
417
|
+
- !ruby/object:Gem::Version
|
418
|
+
version: '4.3'
|
419
|
+
description: Harpiya Developer Tools
|
420
|
+
email: info@harpiya.com
|
421
|
+
executables: []
|
422
|
+
extensions: []
|
423
|
+
extra_rdoc_files: []
|
424
|
+
files:
|
425
|
+
- ".bundle/config"
|
426
|
+
- ".gitignore"
|
427
|
+
- Gemfile
|
428
|
+
- LICENSE
|
429
|
+
- README.md
|
430
|
+
- harpiya_dev_tools.gemspec
|
431
|
+
- lib/harpiya/testing_support/auth_helpers.rb
|
432
|
+
- lib/harpiya/testing_support/checkout_helpers.rb
|
433
|
+
- lib/harpiya_dev_tools.rb
|
434
|
+
- lib/harpiya_dev_tools/rspec/spec_helper.rb
|
435
|
+
- lib/harpiya_dev_tools/rspec/support/authentication_helpers.rb
|
436
|
+
- lib/harpiya_dev_tools/rspec/support/capybara.rb
|
437
|
+
- lib/harpiya_dev_tools/rspec/support/database_cleaner.rb
|
438
|
+
- lib/harpiya_dev_tools/rspec/support/devise.rb
|
439
|
+
- lib/harpiya_dev_tools/rspec/support/factory_bot.rb
|
440
|
+
- lib/harpiya_dev_tools/rspec/support/harpiya.rb
|
441
|
+
- lib/harpiya_dev_tools/rspec/support/harpiya_cart.rb
|
442
|
+
- lib/harpiya_dev_tools/rspec/support/simplecov.rb
|
443
|
+
- lib/harpiya_dev_tools/version.rb
|
444
|
+
homepage: https://github.com/harpiyacloud/harpiya_dev_tools
|
445
|
+
licenses:
|
446
|
+
- BSD-3-Clause
|
447
|
+
metadata: {}
|
448
|
+
post_install_message:
|
449
|
+
rdoc_options: []
|
450
|
+
require_paths:
|
451
|
+
- lib
|
452
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
453
|
+
requirements:
|
454
|
+
- - ">="
|
455
|
+
- !ruby/object:Gem::Version
|
456
|
+
version: 2.3.0
|
457
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
458
|
+
requirements:
|
459
|
+
- - ">="
|
460
|
+
- !ruby/object:Gem::Version
|
461
|
+
version: '0'
|
462
|
+
requirements:
|
463
|
+
- none
|
464
|
+
rubygems_version: 3.2.3
|
465
|
+
signing_key:
|
466
|
+
specification_version: 4
|
467
|
+
summary: Harpiya Dev Tools
|
468
|
+
test_files: []
|