OSDN Git Service

Increased test coverage
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 21 Nov 2012 04:14:05 +0000 (07:14 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Wed, 21 Nov 2012 04:14:05 +0000 (07:14 +0300)
app/views/projects/_clone_panel.html.haml
app/views/snippets/_form.html.haml
features/support/env.rb
spec/models/group_spec.rb
spec/models/namespace_spec.rb
spec/spec_helper.rb
spec/support/namespaces_stub.rb [deleted file]

index 461f4fe..2962ad9 100644 (file)
@@ -6,12 +6,12 @@
       .right
         - unless @project.empty_repo?
           - if can? current_user, :download_code, @project
-            = link_to archive_project_repository_path(@project), class: "btn grouped" do
+            = link_to archive_project_repository_path(@project), class: "btn-small btn grouped" do
               %i.icon-download-alt
               Download
           - if @project.merge_requests_enabled && can?(current_user, :write_merge_request, @project)
-            = link_to new_project_merge_request_path(@project), title: "New Merge Request", class: "btn grouped" do
+            = link_to new_project_merge_request_path(@project), title: "New Merge Request", class: "btn-small btn grouped" do
               Merge Request
           - if @project.issues_enabled && can?(current_user, :write_issue, @project)
-            = link_to new_project_issue_path(@project), title: "New Issue", class: "btn grouped" do
+            = link_to new_project_issue_path(@project), title: "New Issue", class: "btn-small btn grouped" do
               Issue
index e61e61a..981c7cf 100644 (file)
@@ -1,27 +1,27 @@
-%h3= @snippet.new_record? ? "New Snippet" : "Edit Snippet ##{@snippet.id}"
+%h3.page_title
+  = @snippet.new_record? ? "New Snippet" : "Edit Snippet ##{@snippet.id}"
 %hr
 = form_for [@project, @snippet] do |f|
-  %table.no-borders
-    -if @snippet.errors.any?
-      .alert-message.block-message.error
-        %ul
-          - @snippet.errors.full_messages.each do |msg|
-            %li= msg
+  -if @snippet.errors.any?
+    .alert-message.block-message.error
+      %ul
+        - @snippet.errors.full_messages.each do |msg|
+          %li= msg
 
-    .clearfix
-      = f.label :title
-      .input= f.text_field :title, placeholder: "Example Snippet"
-    .clearfix
-      = f.label :file_name
-      .input= f.text_field :file_name, placeholder: "example.rb"
-    .clearfix
-      = f.label "Lifetime"
-      .input= f.select :expires_at, lifetime_select_options, {}, {class: 'chosen span2'}
-    .clearfix
-      = f.label :content, "Code"
-      .input= f.text_area :content, class: "span8"
+  .clearfix
+    = f.label :title
+    .input= f.text_field :title, placeholder: "Example Snippet"
+  .clearfix
+    = f.label :file_name
+    .input= f.text_field :file_name, placeholder: "example.rb"
+  .clearfix
+    = f.label "Lifetime"
+    .input= f.select :expires_at, lifetime_select_options, {}, {class: 'chosen span2'}
+  .clearfix
+    = f.label :content, "Code"
+    .input= f.text_area :content, class: "span8"
 
-  .actions
+  .form-actions
     = f.submit 'Save', class: "primary btn"
     = link_to "Cancel", project_snippets_path(@project), class: " btn"
     - unless @snippet.new_record?
index 42aba5a..a30b357 100644 (file)
@@ -5,7 +5,7 @@ require 'rspec'
 require 'database_cleaner'
 require 'spinach/capybara'
 
-%w(namespaces_stub gitolite_stub stubbed_repository valid_commit).each do |f|
+%w(gitolite_stub stubbed_repository valid_commit).each do |f|
   require Rails.root.join('spec', 'support', f)
 end
 
@@ -32,6 +32,11 @@ end
 DatabaseCleaner.strategy = :truncation
 
 Spinach.hooks.before_scenario do
+  # Use tmp dir for FS manipulations
+  Gitlab.config.stub(git_base_path: Rails.root.join('tmp', 'test-git-base-path'))
+  FileUtils.rm_rf Gitlab.config.git_base_path
+  FileUtils.mkdir_p Gitlab.config.git_base_path
+
   DatabaseCleaner.start
 end
 
index 8058324..8847262 100644 (file)
@@ -22,4 +22,12 @@ describe Group do
   it { should validate_presence_of :path }
   it { should validate_uniqueness_of(:path) }
   it { should validate_presence_of :owner }
+
+  describe :users do
+    it { group.users.should == [] }
+  end
+
+  describe :human_name do
+    it { group.human_name.should == group.name }
+  end
 end
index 16ab1b6..1f1d661 100644 (file)
@@ -32,4 +32,46 @@ describe Namespace do
     it { should respond_to(:human_name) }
     it { should respond_to(:to_param) }
   end
+
+  it { Namespace.global_id.should == 'GLN' }
+
+  describe :to_param do
+    it { namespace.to_param.should == namespace.path }
+  end
+
+  describe :human_name do
+    it { namespace.human_name.should == namespace.owner_name }
+  end
+
+  describe :search do
+    before do
+      @namespace = create :namespace
+    end
+
+    it { Namespace.search(@namespace.path).should == [@namespace] }
+    it { Namespace.search('unknown').should == [] }
+  end
+
+  describe :move_dir do
+    before do
+      @namespace = create :namespace
+    end
+
+    it "should raise error when called directly" do
+      expect { @namespace.move_dir }.to raise_error("Already exists")
+    end
+
+    it "should move dir if path changed" do
+      new_path = @namespace.path + "_new"
+      @namespace.stub(path_was: @namespace.path)
+      @namespace.stub(path: new_path)
+      @namespace.move_dir.should be_true
+    end
+  end
+
+  describe :rm_dir do
+    it "should remove dir" do
+      namespace.rm_dir.should be_true
+    end
+  end
 end
index ace5ca0..7728b1e 100644 (file)
@@ -40,5 +40,10 @@ RSpec.configure do |config|
     # !!! Observers disabled by default in tests
     ActiveRecord::Base.observers.disable(:all)
     # ActiveRecord::Base.observers.enable(:all)
+
+    # Use tmp dir for FS manipulations
+    Gitlab.config.stub(git_base_path: Rails.root.join('tmp', 'test-git-base-path'))
+    FileUtils.rm_rf Gitlab.config.git_base_path
+    FileUtils.mkdir_p Gitlab.config.git_base_path
   end
 end
diff --git a/spec/support/namespaces_stub.rb b/spec/support/namespaces_stub.rb
deleted file mode 100644 (file)
index c55b810..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-require 'namespace'
-require 'gitlab/project_mover'
-
-class Namespace
-  def ensure_dir_exist
-    true
-  end
-
-  def move_dir
-    true
-  end
-end
-
-#class Gitlab::ProjectMover
-  #def execute
-    #true
-  #end
-#end