bbq 0.0.2.beta.2 → 0.0.2.beta.3

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/README.md CHANGED
@@ -38,7 +38,7 @@ First, add BBQ to your apps Gemfile:
38
38
 
39
39
  ```ruby
40
40
  # Gemfile
41
- gem "bbq", :git => "git://github.com/drugpl/bbq.git"
41
+ gem "bbq", "~> 0.0.2.beta.3"
42
42
  ```
43
43
 
44
44
  Run install generator:
@@ -108,7 +108,7 @@ After that TestUser have *login*, *logout*, *register*, *register_and_login* met
108
108
  test "user register with devise" do
109
109
  user = TestUser.new # or TestUser.new(:email => "email@example.com", :password => "secret")
110
110
  user.register_and_login
111
- user.see?("Stuff after auth")
111
+ user.see!("Stuff after auth")
112
112
  end
113
113
  ```
114
114
 
@@ -117,7 +117,7 @@ Development environment
117
117
 
118
118
  ```
119
119
  bundle install
120
- bundle exec rake test
120
+ bundle exec rake test:acceptance # or spec:acceptance for RSpec flavour
121
121
  ```
122
122
 
123
123
  Additional information
data/lib/bbq/devise.rb CHANGED
@@ -3,37 +3,37 @@ if defined?(Devise)
3
3
 
4
4
  module Bbq
5
5
  module Devise
6
-
7
6
  attr_accessor :devise_authentication_key, :email, :password, :scope
8
7
 
9
- def self.included(other)
10
- other.add_callback(self)
11
- end
12
-
13
- def self.init(user)
14
- user.devise_authentication_key = ::Devise.authentication_keys.first
15
- user.email = user.options[user.devise_authentication_key.to_sym] || next_email
16
- user.password = user.options[:password] || next_password
17
- user.scope = ::Devise.mappings.first.second.singular.to_s
8
+ def initialize_devise
9
+ unless @devise_initialized
10
+ self.devise_authentication_key = ::Devise.authentication_keys.first
11
+ self.email = options[devise_authentication_key.to_sym] || Bbq::Devise.next_email
12
+ self.password = options[:password] || Bbq::Devise.next_password
13
+ self.scope = ::Devise.mappings.first.second.singular.to_s
14
+ @devise_initialized = true
15
+ end
18
16
  end
19
17
 
20
18
  def register
21
- visit send("new_#{self.scope}_registration_path")
22
- fill_in "#{self.scope}_#{self.devise_authentication_key}", :with => @email
23
- fill_in "#{self.scope}_password", :with => @password
24
- fill_in "#{self.scope}_password_confirmation", :with => @password
19
+ initialize_devise
20
+ visit send("new_#{scope}_registration_path")
21
+ fill_in "#{scope}_#{devise_authentication_key}", :with => @email
22
+ fill_in "#{scope}_password", :with => @password
23
+ fill_in "#{scope}_password_confirmation", :with => @password
25
24
  find(:xpath, "//input[@name='commit']").click
26
25
  end
27
26
 
28
27
  def login
29
- visit send("new_#{self.scope}_session_path")
30
- fill_in "#{self.scope}_#{self.devise_authentication_key}", :with => @email
31
- fill_in "#{self.scope}_password", :with => @password
28
+ initialize_devise
29
+ visit send("new_#{scope}_session_path")
30
+ fill_in "#{scope}_#{devise_authentication_key}", :with => @email
31
+ fill_in "#{scope}_password", :with => @password
32
32
  find(:xpath, "//input[@name='commit']").click
33
33
  end
34
34
 
35
35
  def logout
36
- visit send("destroy_#{self.scope}_session_path")
36
+ visit send("destroy_#{scope}_session_path")
37
37
  end
38
38
 
39
39
  def register_and_login
data/lib/bbq/test.rb CHANGED
@@ -4,7 +4,6 @@ require 'bbq/test_user'
4
4
  require 'test/unit/assertions'
5
5
 
6
6
  module Bbq
7
-
8
7
  class TestCase < ActiveSupport::TestCase
9
8
  class << self
10
9
  alias :scenario :test
@@ -16,7 +15,6 @@ module Bbq
16
15
 
17
16
  # test/unit specific methods for test_user
18
17
  class TestUser
19
-
20
18
  include Test::Unit::Assertions
21
19
 
22
20
  def see!(*args)
@@ -30,7 +28,5 @@ module Bbq
30
28
  assert has_no_content?(arg), "Found \"#{arg}\", which was unexpected."
31
29
  end
32
30
  end
33
-
34
31
  end
35
-
36
32
  end
data/lib/bbq/test_user.rb CHANGED
@@ -4,27 +4,18 @@ require 'securerandom'
4
4
  require 'bbq/util'
5
5
 
6
6
  module Bbq
7
-
8
7
  class TestUser
9
-
10
8
  include ActionDispatch::Routing::UrlFor
11
9
  include Rails.application.routes.url_helpers
10
+ include ActionDispatch::Routing::RouteSet::MountedHelpers unless Rails.version < "3.1"
12
11
  include Capybara::DSL
13
12
 
14
13
  attr_reader :options
15
14
 
16
- class << self
17
- attr_accessor :callbacks
18
- end
19
-
20
15
  def initialize(options = {})
21
16
  @session_name = options.delete(:session_name)
22
17
  @current_driver = options.delete(:driver)
23
18
  @options = options
24
-
25
- self.class.callbacks && self.class.callbacks.each do |callback|
26
- callback[:extension].send(callback[:method], self)
27
- end
28
19
  end
29
20
 
30
21
  def page
@@ -52,11 +43,6 @@ module Bbq
52
43
  end
53
44
  end
54
45
 
55
- def self.add_callback(extension, method=:init)
56
- self.callbacks ||= []
57
- self.callbacks << {:extension => extension, :method => method}
58
- end
59
-
60
46
  def see?(*args)
61
47
  args.all? { |arg| has_content?(arg) }
62
48
  end
@@ -64,7 +50,5 @@ module Bbq
64
50
  def not_see?(*args)
65
51
  args.all? { |arg| has_no_content?(arg) }
66
52
  end
67
-
68
53
  end
69
-
70
54
  end
data/lib/bbq/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Bbq
2
- VERSION = "0.0.2.beta.2"
2
+ VERSION = "0.0.2.beta.3"
3
3
  end
@@ -1,3 +1,5 @@
1
+ require 'bbq'
2
+
1
3
  module Bbq
2
4
  class InstallGenerator < Rails::Generators::Base
3
5
  hook_for :test_framework, :aliases => "-t", :as => "bbq_install"
@@ -1,3 +1,5 @@
1
+ require 'bbq'
2
+
1
3
  module Bbq
2
4
  class TestGenerator < Rails::Generators::NamedBase
3
5
  hook_for :test_framework, :aliases => "-t", :as => "bbq_test"
@@ -1,5 +1,3 @@
1
- require "spec_helper"
2
-
3
1
  class TestUser < Bbq::TestUser
4
2
  # FIXME: explain here how to extend TestUser
5
3
  end
@@ -3,3 +3,7 @@ To finish setup, place in your test/test_helper.rb the following:
3
3
 
4
4
  require 'bbq/test'
5
5
 
6
+ Also make sure that you require there support files:
7
+
8
+ # Load support files
9
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
@@ -1,5 +1,3 @@
1
- require "test_helper"
2
-
3
1
  class TestUser < Bbq::TestUser
4
2
  # FIXME: explain here how to extend TestUser
5
3
  end
data/lib/tasks/bbq.rake CHANGED
@@ -2,14 +2,14 @@ require 'rake/testtask'
2
2
 
3
3
  Rake::TestTask.new("test:acceptance") do |t|
4
4
  t.libs << 'test'
5
- t.pattern = 'test/acceptance/*_test.rb'
5
+ t.pattern = 'test/acceptance/**/*_test.rb'
6
6
  t.verbose = false
7
7
  end if File.exists?('test/acceptance')
8
8
 
9
9
  begin
10
10
  require 'rspec/core/rake_task'
11
11
  RSpec::Core::RakeTask.new('spec:acceptance') do |spec|
12
- spec.pattern = FileList['spec/acceptance/*_spec.rb']
12
+ spec.pattern = FileList['spec/acceptance/**/*_spec.rb']
13
13
  end if File.exists?('spec/acceptance')
14
14
  rescue LoadError
15
15
  end
@@ -25,13 +25,11 @@ class BbqInstallGeneratorTest < Rails::Generators::TestCase
25
25
  run_generator %w(-t test_unit)
26
26
 
27
27
  assert_file "test/support/test_user.rb", /class TestUser < Bbq::TestUser/
28
- assert_file "test/support/test_user.rb", /require "test_helper"/
29
28
  end
30
29
 
31
30
  def test_creating_rspec_test_user_stub
32
31
  run_generator %w(-t rspec)
33
32
 
34
33
  assert_file "spec/support/test_user.rb", /class TestUser < Bbq::TestUser/
35
- assert_file "spec/support/test_user.rb", /require "spec_helper"/
36
34
  end
37
35
  end
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.2
4
+ version: 0.0.2.beta.3
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: capybara
17
- requirement: &10809360 !ruby/object:Gem::Requirement
17
+ requirement: &18226200 !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: *10809360
25
+ version_requirements: *18226200
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rails
28
- requirement: &10804540 !ruby/object:Gem::Requirement
28
+ requirement: &18222220 !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: *10804540
36
+ version_requirements: *18222220
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: sqlite3
39
- requirement: &10799420 !ruby/object:Gem::Requirement
39
+ requirement: &18196400 !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: *10799420
47
+ version_requirements: *18196400
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: rake
50
- requirement: &10795560 !ruby/object:Gem::Requirement
50
+ requirement: &18195000 !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: *10795560
58
+ version_requirements: *18195000
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rdoc
61
- requirement: &10793120 !ruby/object:Gem::Requirement
61
+ requirement: &18192820 !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: *10793120
69
+ version_requirements: *18192820
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: devise
72
- requirement: &10786860 !ruby/object:Gem::Requirement
72
+ requirement: &18191660 !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: *10786860
80
+ version_requirements: *18191660
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec-rails
83
- requirement: &10776400 !ruby/object:Gem::Requirement
83
+ requirement: &18190720 !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: *10776400
91
+ version_requirements: *18190720
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: -1304765227938922148
182
+ hash: 2685658367770402015
183
183
  required_rubygems_version: !ruby/object:Gem::Requirement
184
184
  none: false
185
185
  requirements: