3 describe SearchHelper do
4 # Override simple_sanitize for our testing purposes
5 def simple_sanitize(str)
9 describe 'search_autocomplete_source' do
10 context "with no current user" do
12 allow(self).to receive(:current_user).and_return(nil)
15 it "it returns nil" do
16 search_autocomplete_opts("q").should be_nil
20 context "with a user" do
21 let(:user) { create(:user) }
24 allow(self).to receive(:current_user).and_return(user)
27 it "includes Help sections" do
28 search_autocomplete_opts("hel").size.should == 9
31 it "includes default sections" do
32 search_autocomplete_opts("adm").size.should == 1
35 it "includes the user's groups" do
36 create(:group).add_owner(user)
37 search_autocomplete_opts("gro").size.should == 1
40 it "includes the user's projects" do
41 project = create(:project, namespace: create(:namespace, owner: user))
42 search_autocomplete_opts(project.name).size.should == 1
45 context "with a current project" do
46 before { @project = create(:project_with_code) }
48 it "includes project-specific sections" do
49 search_autocomplete_opts("Files").size.should == 1
50 search_autocomplete_opts("Commits").size.should == 1