-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontrollers_generator_spec.rb
More file actions
45 lines (37 loc) · 2.3 KB
/
controllers_generator_spec.rb
File metadata and controls
45 lines (37 loc) · 2.3 KB
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
# frozen_string_literal: true
require "spec_helper"
require "generators/devise/webauthn/controllers_generator"
RSpec.describe Devise::Webauthn::ControllersGenerator, type: :generator do
tests described_class
destination File.expand_path("../../../tmp", __dir__)
before do
prepare_destination
end
context "when no scope is passed" do
let(:generator_instance) { generator }
it "does not create anything" do
expect { invoke generator_instance }.to raise_error(Thor::RequiredArgumentMissingError,
"No value provided for required arguments 'scope'")
assert_no_file "app/controllers/passkeys_controller.rb"
assert_no_file "app/controllers/second_factor_webauthn_credentials_controller.rb"
assert_no_file "app/controllers/two_factor_authentications_controller.rb"
assert_no_file "app/controllers/passkey_authentication_options_controller.rb"
assert_no_file "app/controllers/passkey_registration_options_controller.rb"
assert_no_file "app/controllers/security_key_authentication_options_controller.rb"
assert_no_file "app/controllers/security_key_registration_options_controller.rb"
end
end
context "when using a custom scope" do
let(:generator_instance) { generator(["users"]) }
it "create controllers properly scoped with scope param" do
invoke generator_instance
assert_file "app/controllers/users/passkeys_controller.rb", /Users::PasskeysController/
assert_file "app/controllers/users/second_factor_webauthn_credentials_controller.rb", /Users::SecondFactorWebauthnCredentialsController/
assert_file "app/controllers/users/two_factor_authentications_controller.rb", /Users::TwoFactorAuthenticationsController/
assert_file "app/controllers/users/passkey_authentication_options_controller.rb", /Users::PasskeyAuthenticationOptionsController/
assert_file "app/controllers/users/passkey_registration_options_controller.rb", /Users::PasskeyRegistrationOptionsController/
assert_file "app/controllers/users/security_key_authentication_options_controller.rb", /Users::SecurityKeyAuthenticationOptionsController/
assert_file "app/controllers/users/security_key_registration_options_controller.rb", /Users::SecurityKeyRegistrationOptionsController/
end
end
end