summaryrefslogtreecommitdiff
path: root/spec/support/shared_examples/requests/applications_controller_shared_examples.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/shared_examples/requests/applications_controller_shared_examples.rb')
-rw-r--r--spec/support/shared_examples/requests/applications_controller_shared_examples.rb44
1 files changed, 44 insertions, 0 deletions
diff --git a/spec/support/shared_examples/requests/applications_controller_shared_examples.rb b/spec/support/shared_examples/requests/applications_controller_shared_examples.rb
new file mode 100644
index 00000000000..8f852d42c2c
--- /dev/null
+++ b/spec/support/shared_examples/requests/applications_controller_shared_examples.rb
@@ -0,0 +1,44 @@
+# frozen_string_literal: true
+
+RSpec.shared_examples 'applications controller - GET #show' do
+ describe 'GET #show' do
+ it 'renders template' do
+ get show_path
+
+ expect(response).to render_template :show
+ end
+
+ context 'when application is viewed after being created' do
+ before do
+ create_application
+ end
+
+ it 'sets `@created` instance variable to `true`' do
+ get show_path
+
+ expect(assigns[:created]).to eq(true)
+ end
+ end
+
+ context 'when application is reviewed' do
+ it 'sets `@created` instance variable to `false`' do
+ get show_path
+
+ expect(assigns[:created]).to eq(false)
+ end
+ end
+ end
+end
+
+RSpec.shared_examples 'applications controller - POST #create' do
+ it "sets `#{OauthApplications::CREATED_SESSION_KEY}` session key to `true`" do
+ create_application
+
+ expect(session[OauthApplications::CREATED_SESSION_KEY]).to eq(true)
+ end
+end
+
+def create_application
+ create_params = attributes_for(:application, trusted: true, confidential: false, scopes: ['api'])
+ post create_path, params: { doorkeeper_application: create_params }
+end