-
Notifications
You must be signed in to change notification settings - Fork 156
/
generators_test.rb
48 lines (42 loc) · 2.42 KB
/
generators_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..'))
require 'test_helper'
require 'rails/generators'
require 'generators/devise_invitable/devise_invitable_generator'
class GeneratorsTest < ActiveSupport::TestCase
RAILS_APP_PATH = File.expand_path("../rails_app", __FILE__)
test "rails g should include the 3 generators" do
@output = `cd #{RAILS_APP_PATH} && rails g`
assert @output.match(%r|DeviseInvitable:\n devise_invitable\n devise_invitable:install\n devise_invitable:views|)
end
test "rails g devise_invitable:install" do
@output = `cd #{RAILS_APP_PATH} && rails g devise_invitable:install -p`
assert @output.match(%r{(inject|insert).+ config/initializers/devise\.rb\n})
assert @output.match(%r|create.+ config/locales/devise_invitable\.en\.yml\n|)
end
test "rails g devise_invitable:views not scoped" do
@output = `cd #{RAILS_APP_PATH} && rails g devise_invitable:views -p`
assert @output.match(%r|create.+ app/views/devise/invitations\n|)
assert @output.match(%r|create.+ app/views/devise/invitations/edit\.html\.erb\n|)
assert @output.match(%r|create.+ app/views/devise/invitations/new\.html\.erb\n|)
assert @output.match(%r|create.+ app/views/devise/mailer\n|)
assert @output.match(%r|create.+ app/views/devise/mailer/invitation_instructions\.html\.erb\n|)
end
test "rails g devise_invitable:views scoped" do
@output = `cd #{RAILS_APP_PATH} && rails g devise_invitable:views octopussies -p`
assert @output.match(%r|create.+ app/views/octopussies/invitations\n|)
assert @output.match(%r|create.+ app/views/octopussies/invitations/edit\.html\.erb\n|)
assert @output.match(%r|create.+ app/views/octopussies/invitations/new\.html\.erb\n|)
assert @output.match(%r|create.+ app/views/octopussies/mailer\n|)
assert @output.match(%r|create.+ app/views/octopussies/mailer/invitation_instructions\.html\.erb\n|)
end
test "rails g devise_invitable Octopussy" do
@output = `cd #{RAILS_APP_PATH} && rails g devise_invitable Octopussy -p`
assert @output.match(%r{(inject|insert).+ app/models/octopussy\.rb\n})
assert @output.match(%r|invoke.+ #{DEVISE_ORM}\n|)
if DEVISE_ORM == :active_record
assert @output.match(%r|create.+ db/migrate/\d{14}_devise_invitable_add_to_octopussies\.rb\n|)
elsif DEVISE_ORM == :mongoid
assert !@output.match(%r|create.+ db/migrate/\d{14}_devise_invitable_add_to_octopussies\.rb\n|)
end
end
end