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

Sign up to get free protection for your applications and to get access to all the features.
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: