1 # frozen_string_literal: true
5 class Oauth2AuthorizedApplicationsControllerTest < ActionDispatch::IntegrationTest
7 # test all routes which lead to this controller
10 { :path => "/oauth2/authorized_applications", :method => :get },
11 { :controller => "oauth2_authorized_applications", :action => "index" }
14 { :path => "/oauth2/authorized_applications/1", :method => :delete },
15 { :controller => "oauth2_authorized_applications", :action => "destroy", :id => "1" }
21 application1 = create(:oauth_application)
22 create(:oauth_access_grant, :user => user, :application => application1)
23 create(:oauth_access_token, :user => user, :application => application1)
24 application2 = create(:oauth_application)
25 create(:oauth_access_grant, :user => user, :application => application2)
26 create(:oauth_access_token, :user => user, :application => application2)
27 create(:oauth_application)
29 get oauth_authorized_applications_path
30 assert_redirected_to login_path(:referer => oauth_authorized_applications_path)
34 get oauth_authorized_applications_path
35 assert_response :success
36 assert_template "oauth2_authorized_applications/index"
37 assert_select "tbody tr", 2
42 application1 = create(:oauth_application, :scopes => %w[read_prefs write_prefs write_diary read_gpx write_gpx])
43 create(:oauth_access_grant, :user => user, :application => application1, :scopes => %w[read_prefs write_prefs])
44 create(:oauth_access_token, :user => user, :application => application1, :scopes => %w[read_prefs write_prefs])
45 create(:oauth_access_grant, :user => user, :application => application1, :scopes => %w[read_prefs write_diary])
46 create(:oauth_access_token, :user => user, :application => application1, :scopes => %w[read_prefs write_diary])
48 get oauth_authorized_applications_path
49 assert_redirected_to login_path(:referer => oauth_authorized_applications_path)
53 get oauth_authorized_applications_path
54 assert_response :success
55 assert_template "oauth2_authorized_applications/index"
56 assert_select "tbody tr", 1
57 assert_select "tbody tr td ul" do
58 assert_select "li", :count => 3
59 assert_select "li", :text => "Read user preferences"
60 assert_select "li", :text => "Modify user preferences"
61 assert_select "li", :text => "Create diary entries and comments"
67 application1 = create(:oauth_application)
68 create(:oauth_access_grant, :user => user, :application => application1)
69 create(:oauth_access_token, :user => user, :application => application1)
70 application2 = create(:oauth_application)
71 create(:oauth_access_grant, :user => user, :application => application2)
72 create(:oauth_access_token, :user => user, :application => application2)
73 create(:oauth_application)
75 delete oauth_authorized_application_path(:id => application1.id)
76 assert_response :forbidden
80 delete oauth_authorized_application_path(:id => application1.id)
81 assert_redirected_to oauth_authorized_applications_path
83 get oauth_authorized_applications_path
84 assert_response :success
85 assert_template "oauth2_authorized_applications/index"
86 assert_select "tbody tr", 1