Add feature spec for RS OAuth dialog
This commit is contained in:
		
							parent
							
								
									5f921f1b53
								
							
						
					
					
						commit
						ba0cbba96b
					
				| @ -1,7 +1,7 @@ | ||||
| <%= render HeaderCompactComponent.new(title: "Storage") %> | ||||
| 
 | ||||
| <%= render MainCompactComponent.new do %> | ||||
|   <section> | ||||
|   <section class="permissions"> | ||||
|     <p class="mb-8"> | ||||
|       The app on | ||||
|       <%= link_to @client_id, "https://#{@client_id}", class: "ks-text-link" %> | ||||
| @ -9,7 +9,7 @@ | ||||
|     </p> | ||||
| 
 | ||||
|     <% if @root_access_requested %> | ||||
|     <p class="text-lg"> | ||||
|     <p class="scope text-lg"> | ||||
|       <span class="text-red-700"> | ||||
|         <%= render partial: "icons/alert-triangle", | ||||
|               locals: { custom_class: "inline-block align-bottom mr-1.5" } %> | ||||
| @ -21,7 +21,7 @@ | ||||
|     </p> | ||||
|     <% else %> | ||||
|       <% @scopes.each do |scope| %> | ||||
|       <p class="text-gray-600"> | ||||
|       <p class="scope text-gray-600"> | ||||
|         <span class="text-lg"> | ||||
|           <%= render partial: "icons/folder", | ||||
|             locals: { custom_class: "inline-block align-bottom mr-1.5" } %> | ||||
|  | ||||
							
								
								
									
										66
									
								
								spec/features/rs/oauth_spec.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								spec/features/rs/oauth_spec.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,66 @@ | ||||
| require 'rails_helper' | ||||
| 
 | ||||
| RSpec.describe 'remoteStorage OAuth Dialog', type: :feature do | ||||
|   context "when signed in" do | ||||
|     let(:user) { create :user } | ||||
| 
 | ||||
|     before do | ||||
|       login_as user, :scope => :user | ||||
|     end | ||||
| 
 | ||||
|     context "with normal permissions" do | ||||
|       before do | ||||
|         visit new_rs_oauth_path(useraddress: user.address, | ||||
|                                 redirect_uri: "http://example.com", | ||||
|                                 client_id: "http://example.com", | ||||
|                                 scope: "documents,[photos], contacts:r") | ||||
|       end | ||||
| 
 | ||||
|       it "shows the permissions in a list" do | ||||
|         within ".permissions" do | ||||
|           expect(page).to have_content("documents") | ||||
|           expect(page).to have_content("photos") | ||||
|           expect(page).to have_content("contacts") | ||||
|         end | ||||
| 
 | ||||
|         within ".scope:first-of-type" do | ||||
|           expect(page).not_to have_content("read only") | ||||
|         end | ||||
| 
 | ||||
|         within ".scope:last-of-type" do | ||||
|           expect(page).to have_content("read only") | ||||
|         end | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     context "root access" do | ||||
|       context "full" do | ||||
|         before do | ||||
|           visit new_rs_oauth_path(useraddress: user.address, | ||||
|                                   redirect_uri: "http://example.com", | ||||
|                                   client_id: "http://example.com", | ||||
|                                   scope: ":rw") | ||||
|         end | ||||
| 
 | ||||
|         it "shows a special permission for all files and dirs" do | ||||
|           within ".scope" do | ||||
|             expect(page).to have_content("All files and directories") | ||||
|           end | ||||
|         end | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   context "when signed out" do | ||||
|     let(:user) { create :user } | ||||
| 
 | ||||
|     it "prefills the username field in the signin form" do | ||||
|       visit new_rs_oauth_path(useraddress: user.address, | ||||
|                               redirect_uri: "http://example.com", | ||||
|                               client_id: "http://example.com", | ||||
|                               scope: "documents,[photos], contacts:r") | ||||
| 
 | ||||
|       expect(find("#user_cn").value).to eq(user.cn) | ||||
|     end | ||||
|   end | ||||
| end | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user