sw2at-ui 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1d9628ec4a25ec7fb995563f2fe6f61ae45fb50
4
- data.tar.gz: c62d486a93e9b1ca57f4050e20384fbce66c682c
3
+ metadata.gz: f0f30d57dca7571b6f2404e9eb31fc9957a6bfb0
4
+ data.tar.gz: 19b8bc0b73021b3afdc54573dd147e8a43a68017
5
5
  SHA512:
6
- metadata.gz: 637a7d3990a6f638bf7d5e2416d1f1044e0e732d0701cc0b4db7be7dd5acddf4eecb264faa4b6c352130192eb4753f15b2d7094785160dcc879de156ca979f98
7
- data.tar.gz: b0a79e331583ae51fa1127272f7b9d7b7da9faeb178001aac0bbea47df5f78fa6e46eeed5d8ed108f08a178761653efeac6e0dbc807f4b2c569bcf3a9c2171bb
6
+ metadata.gz: ce764b8792413fb801cba3bb800d2f536623d4e7317faef96bdc38b4cae3f1ad7856bb4c4001a3712a3856ec414c78f6f8a1430a60c6f77b1280d51eb7b6096c
7
+ data.tar.gz: cf1e3ec654dab19c283c5cbd7aff86dae1b82f0e810aa82244cd8899ddc288919122f23731df0a268ef8a5b87f6ec38d15e13499481dbe9a31b086f1fd8da0dd
data/README.md CHANGED
@@ -1,9 +1,85 @@
1
- # sw2at-tw
1
+ # sw2at-ui
2
2
  ## SWAT(Simple Way to Automate Tests) - UI
3
- Gem for symplifying management of your tests results. Easily configure paralelism, run them, check results.
3
+ Gem helps in testing of Rails applications.
4
+ * track your test revisions
5
+ * easily configure and run tests in parallel
6
+ * share testing results with team members and customers
4
7
 
5
- ## How to install
6
- gem install sw2at-ui
8
+ ## How to install Rails app with sw2at-ui from scratch
9
+
10
+ Create app (skip this if you have app already)
11
+ ```
12
+ gem install rails
13
+ rails new swat-ui-app
14
+ cd swat-ui-app
15
+ ```
16
+ add RSpec gem to your Gemfile (skip this if you have rspec already)
17
+ ```ruby
18
+ gem 'rspec', '~> 3.0'
19
+ group :development, :test do
20
+ gem 'rspec-rails', '~> 3.0'
21
+ end
22
+ ```
23
+
24
+ install RSpec(skip this if you have rspec already)
25
+ ```
26
+ bundle install
27
+ rails generate rspec:install
28
+ ```
29
+
30
+ add sw2at-ui gem to your Gemfile
31
+ ```ruby
32
+ gem 'sw2at-ui', '0.0.6'
33
+ ```
34
+ Install `sw2at-ui`
35
+ ```
36
+ bundle install
37
+ rails g swat:ui:install
38
+ ```
39
+ Go to [firebase.com](firebase.com) and create a free acount there to get your https path.
40
+
41
+ Insert it in `Rails.root/initializers/swat_ui.rb`. You can define your [parallelism settings](#) here.
42
+
43
+ Edit yout `Rails.root/config/routes.rb`
44
+ ```ruby
45
+ Rails.application.routes.draw do
46
+
47
+ unless Rails.env.production?
48
+ require 'sw2at-ui'
49
+ mount Swat::Engine => '/swat'
50
+ end
51
+
52
+ end
53
+ ```
54
+ Connect sw2at-ui to RSpec. Edit your `Rails.root/spec/rails_helper.rb`, add following lines
55
+ ```ruby
56
+ require 'rspec/core/formatters/base_text_formatter'
57
+ config.formatter = RSpec::Core::Formatters::BaseTextFormatter # if you don't use any custom formatters.
58
+ Swat::UI.rspec_config = config
59
+ ```
60
+ Add a test. For example
61
+ ```ruby
62
+ it 'should check math' do
63
+ expect(2+2).to eq(4)
64
+ end
65
+ ```
66
+
67
+ Run rspec
68
+ ```
69
+ rspec
70
+ ```
71
+ or with a swat-ui runner
72
+ ```
73
+ SWAT_CURRENT_REVISION_NAME='Hello SWAT!' rake swat:ci:run
74
+ ```
75
+
76
+ Now you can check your results at [http://localhost:3000/swat](http://localhost:3000/swat).
77
+ (don't forget to start the app with `rails s`)
78
+ ![alt tag](https://github.com/tw4qa/sw2at-ui/blob/master/docs/resources/swat-ui-example.png)
79
+
80
+
81
+ ## Examples
82
+ You can check a configured example [here](https://github.com/tw4qa/swat-ui-example).
7
83
 
8
84
  ## Contributing to sw2at-ui
9
85
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.6
1
+ 0.0.7
@@ -1,5 +1,7 @@
1
1
  # S.W.A.T. UI
2
+
2
3
  #= require swat/bower_components
3
4
  #= require swat/app/app
4
5
 
6
+
5
7
  console.log 'S.W.A.T. initialized!'
@@ -1,3 +1,6 @@
1
+ #= require jquery
2
+ #= require bootstrap
3
+
1
4
  #= require swat/bower_components/angular/angular.js
2
5
  #= require swat/bower_components/angular-route/angular-route.js
3
6
  #= require swat/bower_components/angular-ui-router/release/angular-ui-router.js
@@ -92,8 +92,7 @@ html, body
92
92
  table#test-cases
93
93
  border-top: 0
94
94
  tr
95
- &:hover
96
- background: grey
95
+ cursor: default
97
96
  th
98
97
  border-top: 0
99
98
  background: #ffffff
@@ -103,6 +102,15 @@ html, body
103
102
  width: 100px
104
103
  &.duration
105
104
  width: 100px
105
+ td
106
+ &:hover
107
+ background-color: transparent
108
+ padding: 0
109
+ .cell
110
+ padding: 8px
111
+ display: block
112
+ .detailed-info
113
+ padding: 0 8px
106
114
 
107
115
  td.status
108
116
  font-weight: bold
@@ -127,6 +135,11 @@ html, body
127
135
  &.failed
128
136
  background: mistyrose
129
137
  color: red
138
+ .main-info
139
+ cursor: pointer
140
+ &:hover
141
+ background: #ffd7e5
142
+
130
143
  td.command
131
144
  input
132
145
  color: rgb(223, 96, 96)
@@ -15,10 +15,7 @@ class TestCase < Fire::Model
15
15
  }.merge!(revision_opts).merge!(extras)
16
16
 
17
17
  if rspec_example.exception
18
- data[:exception] = {
19
- message: rspec_example.exception.message,
20
- backtrace: rspec_example.exception.backtrace,
21
- }
18
+ data[:exception] = extract_exception(rspec_example)
22
19
  end
23
20
 
24
21
  if rspec_example.respond_to?(:swat_extras)
@@ -28,6 +25,19 @@ class TestCase < Fire::Model
28
25
  create(data)
29
26
  end
30
27
 
28
+ private
29
+
30
+ def extract_exception(rspec_example)
31
+ trace = rspec_example.exception.backtrace
32
+ if defined?(Rails)
33
+ trace = ([ trace.first ] + trace.select{|x| x.include?(Rails.root.to_s) } + [ trace.last ]).uniq
34
+ end
35
+ {
36
+ message: rspec_example.exception.message,
37
+ backtrace: trace,
38
+ }
39
+ end
40
+
31
41
  end
32
42
 
33
43
  end
@@ -26,14 +26,25 @@
26
26
  th.status Status
27
27
  th.command Location
28
28
  tr ng-class="test.status" ng-repeat="test in tab.thread.tests"
29
+ - test_id = '{{ test.id }}'
29
30
  td title="{{ test.full_description }}"
30
- strong
31
- | {{ $index+1 }}. &nbsp;
32
- | {{ test.full_description }}
31
+ .main-info.cell data-toggle="collapse" data-target="##{test_id}"
32
+ strong
33
+ | {{ $index+1 }}. &nbsp;
34
+ | {{ test.full_description }}
35
+ .detailed-info.collapse id="#{test_id}" ng-if="test.exception"
36
+ span.message
37
+ strong
38
+ | {{ test.exception.message }}
39
+ .backtrace
40
+ p.trace-line ng-repeat="line in test.exception.backtrace track by $index"
41
+ | {{ line }}
33
42
  td.duration
34
- | {{ test.run_time | number:0 }} sec
43
+ span.cell
44
+ | {{ test.run_time | number:0 }} sec
35
45
  td.status
36
- | {{ test.status }}
46
+ span.cell
47
+ | {{ test.status }}
37
48
  td.command clip-copy="'rspec ' + test.location" title="{{ 'rspec ' + test.location }}"
38
49
  input type="text" value="rspec {{ test.location }}" disabled="disabled"
39
50
  a.fa.fa-copy.copy-icon
Binary file
data/sw2at-ui.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: sw2at-ui 0.0.6 ruby lib
5
+ # stub: sw2at-ui 0.0.7 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "sw2at-ui"
9
- s.version = "0.0.6"
9
+ s.version = "0.0.7"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Vitaly Tarasenko"]
14
- s.date = "2015-06-23"
14
+ s.date = "2015-06-30"
15
15
  s.description = " Control your tests, run them parallel. Check statuses of your revisions online. Share results to all team members. "
16
16
  s.email = "vetal.tarasenko@gmail.com"
17
17
  s.executables = ["rails"]
@@ -387,6 +387,7 @@ Gem::Specification.new do |s|
387
387
  "app/views/swat/shared/_header.slim",
388
388
  "bin/rails",
389
389
  "config/routes.rb",
390
+ "docs/resources/swat-ui-example.png",
390
391
  "fixtures/firebase_collection.rb",
391
392
  "lib/sw2at-ui.rb",
392
393
  "lib/swat/engine.rb",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sw2at-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitaly Tarasenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-23 00:00:00.000000000 Z
11
+ date: 2015-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -583,6 +583,7 @@ files:
583
583
  - app/views/swat/shared/_header.slim
584
584
  - bin/rails
585
585
  - config/routes.rb
586
+ - docs/resources/swat-ui-example.png
586
587
  - fixtures/firebase_collection.rb
587
588
  - lib/sw2at-ui.rb
588
589
  - lib/swat/engine.rb