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 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: