Commit Graph

34 Commits

Author SHA1 Message Date
Izaak Alpert 3d7194f011 Merge Request on forked projects
The good:

 - You can do a merge request for a forked commit and it will merge properly (i.e. it does work).
 - Push events take into account merge requests on forked projects
 - Tests around merge_actions now present, spinach, and other rspec tests
 - Satellites now clean themselves up rather then recreate

The questionable:

 - Events only know about target projects
 - Project's merge requests only hold on to MR's where they are the target
 - All operations performed in the satellite

The bad:

  -  Duplication between project's repositories and satellites (e.g. commits_between)

(for reference: http://feedback.gitlab.com/forums/176466-general/suggestions/3456722-merge-requests-between-projects-repos)

Fixes:

Make test repos/satellites only create when needed
-Spinach/Rspec now only initialize test directory, and setup stubs (things that are relatively cheap)
-project_with_code, source_project_with_code, and target_project_with_code now create/destroy their repos individually
-fixed remote removal
-How to merge renders properly
-Update emails to show project/branches
-Edit MR doesn't set target branch
-Fix some failures on editing/creating merge requests, added a test
-Added back a test around merge request observer
-Clean up project_transfer_spec, Remove duplicate enable/disable observers
-Ensure satellite lock files are cleaned up, Attempted to add some testing around these as well
-Signifant speed ups for tests
-Update formatting ordering in notes_on_merge_requests
-Remove wiki schema update
Fixes for search/search results
-Search results was using by_project for a list of projects, updated this to use in_projects
-updated search results to reference the correct (target) project
-udpated search results to print both sides of the merge request

Change-Id: I19407990a0950945cc95d62089cbcc6262dab1a8
2013-07-17 22:41:30 -04:00
Dmitriy Zaporozhets 001f3bc59e Specs refactoring to reduce test time. Disabled observers by default for specs 2013-04-10 23:28:42 +03:00
Dmitriy Zaporozhets 541d899410 Project.repository should never be nil so you can call repository.exists? or repository.empty?
Also specify separate project factory for project with filled repo
2013-04-01 16:56:25 +03:00
Andrew8xx8 5949e30243 Spork support added 2013-03-26 13:38:42 +04:00
Sato Hiroyuki 06c5389780 Fix travis failure randomly, because Capybara.default_wait_time is too short. 2013-03-21 15:24:06 +00:00
Dmitriy Zaporozhets 96fbef60f9 add coveralls.io to travis builds 2013-03-10 20:26:27 +02:00
Dmitriy Zaporozhets 42ce2c1080 improve selectors to pass capybara 2.0 2013-02-21 11:27:22 +02:00
Dmitriy Zaporozhets 9f722427e5 Add LoginHelpers to feature type 2013-02-21 10:41:13 +02:00
Dmitriy Zaporozhets d64090b8a9 No gitolite in project any more 2013-02-11 19:16:59 +02:00
Dmitriy Zaporozhets c75fc9c7a6 remove gitolite stub 2013-02-04 18:18:36 +02:00
Dmitriy Zaporozhets 9773ccc451 sidekiq with green tests 2013-01-09 09:14:05 +03:00
Dmitriy Zaporozhets 92a619ad28 organize simplecov 2013-01-07 22:23:13 +02:00
Dmitriy Zaporozhets ccf0686b01 Fix api specs. Use id instead path 2013-01-02 19:46:06 +02:00
Dmitriy Zaporozhets d431e43392 Fix few bugs and tests after refactoring ownership logic 2013-01-02 19:32:34 +02:00
Riyad Preukschas 19eb637419 Update uses of Gitolite.config.foo settings 2012-12-20 16:54:28 +01:00
Dmitriy Zaporozhets f614ae8ef7 Increased test coverage 2012-11-21 07:14:05 +03:00
Dmitriy Zaporozhets ba25b2dc84 Use poltergeist instaead of capybara-webkit 2012-11-16 12:27:39 +02:00
Robert Speicher e33cbb9b42 Add TreeController and spec 2012-09-26 16:32:21 -04:00
Robert Speicher c9c1f76e00 All specs and features currently passing with FactoryGirl 2012-08-28 21:22:49 -04:00
Robert Speicher 4805c64f2a Remove spec/factory and spec/factories 2012-08-28 20:30:50 -04:00
randx 7cdc5b9e04 Use similar interface to access gitolite
Simplified gitolite handle logic
Stubn over monkeypatch
Stub only specific methods in Gitlab:Gitolite
Moved grach auth to lib
added specs for keys observer
removes SshKey role
2012-08-29 00:04:06 +03:00
Robert Speicher b2a5344a2d Add a simple `api` method to ApiHelpers, replacing api_prefix
See docs for usage
2012-08-25 14:19:15 -04:00
Robert Speicher fba174e9bc Cleanup spec/support folder and spec/spec_helper
Changes:
* Move spec/monkeypatch to spec/support
* Remove unused support/shared_examples
* Move support/api to support/api_helpers to match module name
* Move support/login to support/login_helpers to match module name
* Move API specs to requests/api (convention over configuration)
* Remove unused support/js_patch
* Simplify login_as helper
* Move DatabaseCleaner stuff to its own support file
* Remove unnecessary configuration and requires from spec_helper
2012-08-25 14:19:15 -04:00
Robert Speicher db4c3e58bc Don't run SimpleCov on Travis 2012-08-23 07:24:25 -04:00
randx d656cb74f7 Headless gem added 2012-08-19 11:36:37 +03:00
Dmitriy Zaporozhets 463644c882 rspec to capybara-webkit. simplercov now use cucumber 2012-08-13 08:32:10 +03:00
Robert Speicher 7754189187 Fully embrace Ruby 1.9 hash syntax
Didn't bother with files in db/, config/, or features/
2012-08-10 18:25:15 -04:00
Nihad Abbasov 4ad91d3c11 add users API 2012-06-28 03:43:41 -07:00
Robb Kidd dfb5da9da3 Disable observers in specs. Enable only when observer is under test.
Used the built-in observer enable/disable feature in ActiveModel[1].
ActiveRecord::Base includes ActiveModel::Observing which provides this
behavior.

Simple wraps to enable the observer under test were added to the specs
for: ActivityObserver, IssueObserver, Admin::Users and Issues.

The spec for Project.last_activity was refactored to separate the tests
for #last_activity and #last_activity_date. Each had doubles added to
isolate the spec from the hidden dependency on the ActivityObserver
action to create an Event for the project when an Issue is created. This
ActivityObserver behavior is already tested by its spec.

[1] http://api.rubyonrails.org/classes/ActiveModel/ObserverArray.html
2012-06-20 14:09:46 -04:00
Robb Kidd c7489578e6 Add specs for Notify ActionMailer emails.
Covers new user, new issue and wall note emails.

Depends on email_spec (https://github.com/bmabey/email-spec/) for
friendly matchers.
2012-05-15 22:35:53 -04:00
Ariejan de Vroom edab46e9fa Added web hooks functionality
This commit includes:

 * Projects can have zero or more WebHooks.
 * The PostReceive job will ask a project to execute any web hooks defined for that project.
 * WebHook has a URL, we post Github-compatible JSON to that URL.
 * Failure to execute a WebHook will be silently ignored.
2011-12-14 17:38:52 +01:00
Nihad Abbasov e10fb64dd6 update gems in order to make it work with ruby 1.9.3 2011-11-16 18:57:37 +04:00
Nihad Abbasov d62200cad4 clean-up code
* Remove trailing whitespace
  * Converts hard-tabs into two-space soft-tabs
  * Remove consecutive blank lines
2011-10-26 18:46:25 +05:00
gitlabhq 9ba1224867 init commit 2011-10-09 00:36:38 +03:00