system_tester 0.2.3 → 0.2.4

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
  SHA1:
3
- metadata.gz: 841ec8726c92dcaa6f055e5a66bd86a770d1dfbb
4
- data.tar.gz: 66b20b7f7d4fccb38e0d8fe8b801255a34eaa26e
3
+ metadata.gz: 151442ecb3d40707943e3dfbc89de8634ecc6a48
4
+ data.tar.gz: a479cc224c24256a1202ed814c21a409d913c49e
5
5
  SHA512:
6
- metadata.gz: 9c552556ed3ae726e2579790f93935cb3a79fb2db898d5068e22a3b72ce86870a45d52dec5cb7401c011818599dea10bb216046a7c3bb0448ee4bf0d7bd006cc
7
- data.tar.gz: 0610b47ed335abf6b1d0c276472eb251829b030f5bcbe9f2c525ae3c0895acace61b318f92be48fd230938e6bd3e64f1516e40cd2b533a2ead208b8458c11c7d
6
+ metadata.gz: ebf3d8c42a4a97c18b71270bda2a39dbb69ae3f35e63b3f3ad76b89ceb0ac5dc171b6e9e4a5a753538a37f00d2f9baeeaa2b486b45138039b9b151e75be70591
7
+ data.tar.gz: 556e24244777b82577e2699c1b7a89d5cd8b5fd3cbf9c552760c60a9cf45172c0e17c81e464f797e702e4e56908bc3c4693963ead5acc9a8f890c708fb427be7
data/README.md CHANGED
@@ -1,3 +1,6 @@
1
+ [![Build Status](https://travis-ci.org/rlafranchi/system_tester.svg?branch=master)](https://travis-ci.org/rlafranchi/system_tester)
2
+ [![Code Climate](https://codeclimate.com/github/rlafranchi/system_tester/badges/gpa.svg)](https://codeclimate.com/github/rlafranchi/system_tester)
3
+ [![Test Coverage](https://codeclimate.com/github/rlafranchi/system_tester/badges/coverage.svg)](https://codeclimate.com/github/rlafranchi/system_tester/coverage)
1
4
  # System Tester
2
5
  A development tool for creating and managing system tests in Ruby on Rails >= 5.1 applications
3
6
 
@@ -32,7 +35,7 @@ Rails.application.routes.draw do
32
35
  # ... other routes
33
36
 
34
37
  # Mount in development environment only
35
- if Rails.env.devolpment?
38
+ if Rails.env.devolopment?
36
39
  mount SystemTester::Engine => "/system_tester"
37
40
  end
38
41
  end
@@ -41,11 +44,11 @@ end
41
44
  Start your dev server and you are good to go.
42
45
 
43
46
  ## Chrome extension
44
- ![image](screenshot.png)
47
+ [![System Tester Demo](https://img.youtube.com/vi/4JlQFqIXnBU/0.jpg)](https://www.youtube.com/watch?v=4JlQFqIXnBU)
45
48
 
46
49
  The chrome extension provides a Devtools tab and acts as a client to this gem.
47
50
 
48
- IN DEVELOPMENT - to request access feel free to dm on twitter @ralafranchi.
51
+ **IN DEVELOPMENT** - to request access feel free to dm me on twitter [@ralafranchi](https://twitter.com/ralafranchi).
49
52
 
50
53
  ## Design
51
54
  System Tester is designed to work with a chrome extension, but could potentially be used for other applications as well.
@@ -1,5 +1,13 @@
1
1
  module SystemTester
2
2
  class ApplicationController < ActionController::API
3
3
  # protect_from_forgery with: :exception
4
+
5
+ # before_action :view_headers
6
+ #
7
+ # private
8
+ #
9
+ # def view_headers
10
+ # Rails.logger.debug request.env
11
+ # end
4
12
  end
5
13
  end
@@ -7,7 +7,7 @@ module SystemTester
7
7
  included do
8
8
  before_save do
9
9
  FileUtils.mkdir_p(base_path)
10
- unless File.exists?(system_test_case_path)
10
+ unless File.exists?(system_test_case_path) || "support".match(system_test_case_path)
11
11
  File.open(system_test_case_path, "w+") { |f| f.write(system_test_case_content) }
12
12
  end
13
13
  end
@@ -50,7 +50,7 @@ module SystemTester
50
50
  end
51
51
 
52
52
  def delete_file
53
- File.delete(full_file)
53
+ File.delete(full_file) if File.exist?(full_file)
54
54
  end
55
55
 
56
56
  def delete_old_file
@@ -1,7 +1,7 @@
1
1
  module SystemTester
2
2
  class Action < Step
3
3
  def to_s
4
- "#{INDENT}# Action: #{title}\n"
4
+ "#{INDENT}# Action: #{commented_title}\n"
5
5
  end
6
6
 
7
7
  def self.bg_css
@@ -17,7 +17,7 @@ module SystemTester
17
17
  },
18
18
  {
19
19
  name: 'arg_two',
20
- lable: 'Text',
20
+ label: 'Text',
21
21
  type: 'text'
22
22
  }
23
23
  ]
@@ -1,7 +1,7 @@
1
1
  module SystemTester
2
2
  class Assertion < Step
3
3
  def to_s
4
- "#{INDENT}# Assertion: #{title}\n"
4
+ "#{INDENT}# Assertion: #{commented_title}\n"
5
5
  end
6
6
 
7
7
  def self.bg_css
@@ -1,6 +1,6 @@
1
1
  module SystemTester
2
2
  class Scenario < ApplicationRecord
3
- include TitleValidatable
3
+ include SystemTester::TitleValidatable
4
4
  validates_uniqueness_of :title, scope: :system_tester_feature_id
5
5
 
6
6
  INDENT = " " * 4
@@ -1,5 +1,7 @@
1
1
  module SystemTester
2
2
  class Stair < Step
3
+ include SystemTester::TitleValidatable
4
+ validates_uniqueness_of :title
3
5
  include SystemTester::Fileable
4
6
  has_many :stair_steps,
5
7
  -> { order 'position asc' },
@@ -1,6 +1,7 @@
1
1
  module SystemTester
2
2
  class Step < ApplicationRecord
3
- include TitleValidatable
3
+ # include TitleValidatable
4
+ validates_presence_of :title
4
5
  validates_uniqueness_of :title, scope: [:type, :arg_one, :arg_two]
5
6
 
6
7
  INDENT = " " * 6
@@ -95,5 +96,9 @@ module SystemTester
95
96
  }
96
97
  end.sort_by { |step_type| step_type[:friendly] }
97
98
  end
99
+
100
+ def commented_title
101
+ title.split("\n").map { |line| "# #{line}" }.join("\n")[2..-1]
102
+ end
98
103
  end
99
104
  end
data/config/routes.rb CHANGED
@@ -1,13 +1,13 @@
1
1
  SystemTester::Engine.routes.draw do
2
- resources :features, only: [:index, :create, :update, :destroy]
3
- resources :scenarios, only: [:index, :show, :create, :update, :destroy]
4
- resources :steps, only: [:index, :show, :new, :create, :update, :destroy]
5
- resources :scenario_steps, only: [:create, :update, :destroy]
6
- resources :stair_steps, only: [:create, :update, :destroy]
7
- resources :step_types, only: [:index] do
2
+ resources :features, only: [:index, :create, :update, :destroy], :defaults => {:format => :json}
3
+ resources :scenarios, only: [:index, :show, :create, :update, :destroy], :defaults => {:format => :json}
4
+ resources :steps, only: [:index, :show, :new, :create, :update, :destroy], :defaults => {:format => :json}
5
+ resources :scenario_steps, only: [:create, :update, :destroy], :defaults => {:format => :json}
6
+ resources :stair_steps, only: [:create, :update, :destroy], :defaults => {:format => :json}
7
+ resources :step_types, only: [:index], :defaults => {:format => :json} do
8
8
  collection do
9
- get :parents
9
+ get :parents, :defaults => {:format => :json}
10
10
  end
11
11
  end
12
- resources :status, only: [:index]
12
+ resources :status, only: [:index], :defaults => {:format => :json}
13
13
  end
@@ -6,18 +6,19 @@ module SystemTester
6
6
  initializer :cors do |app|
7
7
  app.config.middleware.insert_before 0, Rack::Cors do
8
8
  allow do
9
- origins '*'
9
+ origins 'ebpjncfolmfiiphibdajgblbchkklbcf', 'http://localhost:8080'
10
10
  resource '/system_tester/*',
11
11
  :headers => :any,
12
12
  :methods => [:get, :post, :delete, :put, :patch, :options, :head]
13
-
14
13
  end
15
14
  end
16
15
  end
17
16
 
18
17
  config.to_prepare do
19
- Dir.glob(SystemTester::Engine.root.join("app", "models" , "**", "*.rb")).each do |dep|
20
- require_dependency dep
18
+ if Rails.env.development?
19
+ Dir.glob(SystemTester::Engine.root.join("app", "models" , "**", "*.rb")).each do |dep|
20
+ require_dependency dep
21
+ end
21
22
  end
22
23
  end
23
24
  end
@@ -1,3 +1,3 @@
1
1
  module SystemTester
2
- VERSION = '0.2.3'
2
+ VERSION = '0.2.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: system_tester
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard LaFranchi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-02 00:00:00.000000000 Z
11
+ date: 2017-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.8.0
33
+ version: 0.9.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.8.0
40
+ version: 0.9.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rack-cors
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: faker
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
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: fabrication
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  description: System Tester aims to symplify QA for Rails applications by providing
70
98
  a development tool for creating and managing system tests
71
99
  email: