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