bbq 0.0.2.beta.1 → 0.0.2.beta.2

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -3,6 +3,3 @@ rvm:
3
3
  - 1.9.2
4
4
  - 1.8.7
5
5
  - ree
6
- - jruby
7
- - rbx
8
- - rbx-2.0
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
- "#{ActiveSupport::SecureRandom.hex(3)}@example.com"
44
+ "#{SecureRandom.hex(3)}@example.com"
46
45
  end
47
46
 
48
47
  def self.next_password
49
- ActiveSupport::SecureRandom.hex(8)
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.using_session(session_name) do
31
- Capybara.current_session
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 ||= ActiveSupport::SecureRandom.hex(8)
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
@@ -1,3 +1,3 @@
1
1
  module Bbq
2
- VERSION = "0.0.2.beta.1"
2
+ VERSION = "0.0.2.beta.2"
3
3
  end
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"
@@ -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.1
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-06-30 00:00:00.000000000 +02:00
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: &20161160 !ruby/object:Gem::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: *20161160
25
+ version_requirements: *10809360
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rails
28
- requirement: &20160620 !ruby/object:Gem::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: *20160620
36
+ version_requirements: *10804540
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: sqlite3
39
- requirement: &20160160 !ruby/object:Gem::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: *20160160
47
+ version_requirements: *10799420
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rake
50
- requirement: &20159700 !ruby/object:Gem::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: *20159700
58
+ version_requirements: *10795560
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rdoc
61
- requirement: &20159240 !ruby/object:Gem::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: *20159240
69
+ version_requirements: *10793120
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: devise
72
- requirement: &20158780 !ruby/object:Gem::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: *20158780
80
+ version_requirements: *10786860
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec-rails
83
- requirement: &20158320 !ruby/object:Gem::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: *20158320
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: -1992066288343406768
182
+ hash: -1304765227938922148
183
183
  required_rubygems_version: !ruby/object:Gem::Requirement
184
184
  none: false
185
185
  requirements: