bbq 0.0.2.beta.1 → 0.0.2.beta.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.
- data/.travis.yml +0 -3
- data/lib/bbq/devise.rb +3 -4
- data/lib/bbq/railtie.rb +8 -0
- data/lib/bbq/rspec.rb +18 -14
- data/lib/bbq/test_user.rb +12 -3
- data/lib/bbq/version.rb +1 -1
- data/test/test_helper.rb +0 -3
- data/test/unit/bbq_rspec_test.rb +22 -0
- data/test/unit/bbq_test_unit_test.rb +24 -0
- data/test/unit/bbq_test_user_test.rb +5 -7
- metadata +17 -17
data/.travis.yml
CHANGED
data/lib/bbq/devise.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
if defined?(Devise)
|
2
|
-
|
3
|
-
require 'bbq/test'
|
2
|
+
require 'securerandom'
|
4
3
|
|
5
4
|
module Bbq
|
6
5
|
module Devise
|
@@ -42,11 +41,11 @@ if defined?(Devise)
|
|
42
41
|
end
|
43
42
|
|
44
43
|
def self.next_email
|
45
|
-
"#{
|
44
|
+
"#{SecureRandom.hex(3)}@example.com"
|
46
45
|
end
|
47
46
|
|
48
47
|
def self.next_password
|
49
|
-
|
48
|
+
SecureRandom.hex(8)
|
50
49
|
end
|
51
50
|
end
|
52
51
|
end
|
data/lib/bbq/railtie.rb
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
+
require 'rails/generators'
|
2
|
+
|
1
3
|
module Bbq
|
2
4
|
class Railtie < Rails::Railtie
|
3
5
|
rake_tasks do
|
4
6
|
load Bbq.root.join("lib/tasks/bbq.rake")
|
5
7
|
end
|
8
|
+
|
9
|
+
helper_generators = %w(test_unit rspec).collect do |test_framework|
|
10
|
+
["#{test_framework}:bbq_test", "#{test_framework}:bbq_install"]
|
11
|
+
end.flatten
|
12
|
+
|
13
|
+
Rails::Generators.hide_namespaces *helper_generators
|
6
14
|
end
|
7
15
|
end
|
data/lib/bbq/rspec.rb
CHANGED
@@ -12,20 +12,6 @@ module Bbq
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
class TestUser
|
16
|
-
def see!(*args)
|
17
|
-
args.each do |arg|
|
18
|
-
page.should have_content(arg)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def not_see!(*args)
|
23
|
-
args.each do |arg|
|
24
|
-
page.should have_no_content(arg)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
15
|
module RSpecMatchers
|
30
16
|
class TestUserEyes
|
31
17
|
def initialize(negative, *args)
|
@@ -67,6 +53,24 @@ module Bbq
|
|
67
53
|
TestUserEyes.new(true, *args)
|
68
54
|
end
|
69
55
|
end
|
56
|
+
|
57
|
+
class TestUser
|
58
|
+
include RSpec::Matchers
|
59
|
+
include Capybara::RSpecMatchers
|
60
|
+
include Bbq::RSpecMatchers
|
61
|
+
|
62
|
+
def see!(*args)
|
63
|
+
args.each do |arg|
|
64
|
+
page.should have_content(arg)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def not_see!(*args)
|
69
|
+
args.each do |arg|
|
70
|
+
page.should have_no_content(arg)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
70
74
|
end
|
71
75
|
|
72
76
|
def self.feature(*args, &block)
|
data/lib/bbq/test_user.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'capybara/rails'
|
2
2
|
require 'capybara/dsl'
|
3
|
+
require 'securerandom'
|
3
4
|
require 'bbq/util'
|
4
5
|
|
5
6
|
module Bbq
|
@@ -27,13 +28,21 @@ module Bbq
|
|
27
28
|
end
|
28
29
|
|
29
30
|
def page
|
30
|
-
Capybara.
|
31
|
-
Capybara.
|
31
|
+
Capybara.using_driver(current_driver) do
|
32
|
+
Capybara.using_session(session_name) do
|
33
|
+
Capybara.current_session
|
34
|
+
end
|
32
35
|
end
|
33
36
|
end
|
34
37
|
|
38
|
+
# Discuss: Shall we freeze ?
|
35
39
|
def session_name
|
36
|
-
@session_name ||=
|
40
|
+
@session_name ||= SecureRandom.hex(8)
|
41
|
+
end
|
42
|
+
|
43
|
+
# Discuss: Shall we freeze ?
|
44
|
+
def current_driver
|
45
|
+
@current_driver
|
37
46
|
end
|
38
47
|
|
39
48
|
def roles(*names)
|
data/lib/bbq/version.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -1,9 +1,6 @@
|
|
1
1
|
# Configure Rails Environment
|
2
2
|
ENV["RAILS_ENV"] = "test"
|
3
3
|
|
4
|
-
require 'test/unit'
|
5
|
-
FAILED_ASSERTION = RUBY_VERSION < "1.9" ? Test::Unit::AssertionFailedError : MiniTest::Assertion
|
6
|
-
|
7
4
|
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
8
5
|
require "rails/test_help"
|
9
6
|
require "rails/generators/test_case"
|
data/test/unit/bbq_rspec_test.rb
CHANGED
@@ -60,4 +60,26 @@ class BbqRspecTest < Test::Unit::TestCase
|
|
60
60
|
run_cmd 'rspec -Itest/dummy/spec test/dummy/spec/acceptance/bbq_matchers_spec.rb'
|
61
61
|
assert_match /1 example, 0 failures/, output
|
62
62
|
end
|
63
|
+
|
64
|
+
def test_implicit_user_eyes
|
65
|
+
create_file 'test/dummy/spec/acceptance/implicit_user_eyes_spec.rb', <<-RSPEC
|
66
|
+
require 'spec_helper'
|
67
|
+
require 'bbq/rspec'
|
68
|
+
|
69
|
+
feature 'implicit user eyes' do
|
70
|
+
scenario 'should see welcome text' do
|
71
|
+
user = Bbq::TestUser.new
|
72
|
+
user.visit "/miracle"
|
73
|
+
user.see!("MIRACLE")
|
74
|
+
user.not_see!("BBQ")
|
75
|
+
|
76
|
+
lambda { user.see!("BBQ") }.should raise_error
|
77
|
+
lambda { user.not_see!("MIRACLE") }.should raise_error
|
78
|
+
end
|
79
|
+
end
|
80
|
+
RSPEC
|
81
|
+
|
82
|
+
run_cmd 'rspec -Itest/dummy/spec test/dummy/spec/acceptance/implicit_user_eyes_spec.rb'
|
83
|
+
assert_match /1 example, 0 failures/, output
|
84
|
+
end
|
63
85
|
end
|
@@ -28,4 +28,28 @@ class BbqTestUnitTest < Test::Unit::TestCase
|
|
28
28
|
run_cmd 'ruby -Ilib -Itest/dummy/test test/dummy/test/acceptance/dsl_test.rb'
|
29
29
|
assert_match /1 tests, 1 assertions, 0 failures, 0 errors/, output
|
30
30
|
end
|
31
|
+
|
32
|
+
def test_implicit_user_eyes
|
33
|
+
create_file 'test/dummy/test/acceptance/implicit_user_eyes_test.rb', <<-TESTUNIT
|
34
|
+
require 'test_helper'
|
35
|
+
require 'bbq/test'
|
36
|
+
|
37
|
+
FAILED_ASSERTION = RUBY_VERSION < "1.9" ? Test::Unit::AssertionFailedError : MiniTest::Assertion
|
38
|
+
|
39
|
+
class ImplicitUserEyesTest < Bbq::TestCase
|
40
|
+
scenario 'should see welcome text' do
|
41
|
+
user = Bbq::TestUser.new
|
42
|
+
user.visit "/miracle"
|
43
|
+
user.see!("MIRACLE")
|
44
|
+
user.not_see!("BBQ")
|
45
|
+
|
46
|
+
assert_raises(FAILED_ASSERTION) { user.see!("BBQ") }
|
47
|
+
assert_raises(FAILED_ASSERTION) { user.not_see!("MIRACLE") }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
TESTUNIT
|
51
|
+
|
52
|
+
run_cmd 'ruby -Ilib -Itest/dummy/test test/dummy/test/acceptance/implicit_user_eyes_test.rb'
|
53
|
+
assert_match /1 tests, 2 assertions, 0 failures, 0 errors/, output
|
54
|
+
end
|
31
55
|
end
|
@@ -27,6 +27,11 @@ class BbqTestUserTest < Test::Unit::TestCase
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
+
def test_driver_option
|
31
|
+
user = TestUser.new(:driver => :selenium)
|
32
|
+
assert_equal :selenium, user.page.mode
|
33
|
+
end
|
34
|
+
|
30
35
|
def test_roles
|
31
36
|
user = TestUser.new
|
32
37
|
%w(comment upload moderate).each { |m| assert !user.respond_to?(m) }
|
@@ -39,13 +44,6 @@ class BbqTestUserTest < Test::Unit::TestCase
|
|
39
44
|
%w(comment upload moderate).each { |m| assert user.respond_to?(m) }
|
40
45
|
end
|
41
46
|
|
42
|
-
def test_implicit_user_eyes
|
43
|
-
@user = TestUser.new
|
44
|
-
@user.visit "/miracle"
|
45
|
-
assert_raises(FAILED_ASSERTION) { @user.see!("BBQ") }
|
46
|
-
assert_raises(FAILED_ASSERTION) { @user.not_see!("MIRACLE") }
|
47
|
-
end
|
48
|
-
|
49
47
|
def test_explicit_user_eyes
|
50
48
|
@user = TestUser.new
|
51
49
|
@user.visit "/miracle"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bbq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.2.beta.
|
4
|
+
version: 0.0.2.beta.2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-07-01 00:00:00.000000000 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: capybara
|
17
|
-
requirement: &
|
17
|
+
requirement: &10809360 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 1.0.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *10809360
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rails
|
28
|
-
requirement: &
|
28
|
+
requirement: &10804540 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 3.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *10804540
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: sqlite3
|
39
|
-
requirement: &
|
39
|
+
requirement: &10799420 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 1.3.3
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *10799420
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rake
|
50
|
-
requirement: &
|
50
|
+
requirement: &10795560 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 0.8.7
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *10795560
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rdoc
|
61
|
-
requirement: &
|
61
|
+
requirement: &10793120 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '3.7'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *10793120
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: devise
|
72
|
-
requirement: &
|
72
|
+
requirement: &10786860 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.4.0
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *10786860
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rspec-rails
|
83
|
-
requirement: &
|
83
|
+
requirement: &10776400 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ~>
|
@@ -88,7 +88,7 @@ dependencies:
|
|
88
88
|
version: 2.6.0
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *10776400
|
92
92
|
description: Objected oriented acceptance testing for Rails, using personas.
|
93
93
|
email:
|
94
94
|
- bbq@drug.org.pl
|
@@ -179,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
179
179
|
version: '0'
|
180
180
|
segments:
|
181
181
|
- 0
|
182
|
-
hash: -
|
182
|
+
hash: -1304765227938922148
|
183
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
184
184
|
none: false
|
185
185
|
requirements:
|