summaryrefslogtreecommitdiff
path: root/spec/finders
Commit message (Collapse)AuthorAgeFilesLines
* remove public field from namespace and refactoringnamespace-clean_upValery Sizov2016-01-042-97/+0
|
* Port GitLab EE ProjectsFinder changesgitlab-ee-d39de0ea-backportYorick Peterse2015-11-201-5/+12
| | | | | | | These changes were added in GitLab EE commit d39de0ea91b26b8840195e5674b92c353cc16661. The tests were a bit bugged (they used a non existing group, thus not testing a crucial part) which I only noticed when porting CE changes to EE.
* Align hash literals to keep Rubocop happyYorick Peterse2015-11-182-4/+4
|
* Refactor ProjectsFinder to not pluck IDsYorick Peterse2015-11-183-35/+109
| | | | | | | | | | | | | | | | | | | This class now uses a UNION (when needed) instead of plucking tens of thousands of project IDs into memory. The tests have also been re-written to ensure all different use cases are tested properly (assuming I didn't forget any cases). The finder has also been broken up into 3 different finder classes: * ContributedProjectsFinder: class for getting the projects a user contributed to. * PersonalProjectsFinder: class for getting the personal projects of a user. * ProjectsFinder: class for getting generic projects visible to a given user. Previously a lot of the logic of these finders was handled directly in the users controller.
* Refactoed GroupsFinder into two separate classesYorick Peterse2015-11-182-9/+91
| | | | | | | | | | | | | | | | | In the previous setup the GroupsFinder class had two distinct tasks: 1. Finding the projects user A could see 2. Finding the projects of user A that user B could see Task two was actually handled outside of the GroupsFinder (in the UsersController) by restricting the returned list of groups to those the viewed user was a member of. Moving all this logic into a single finder proved to be far too complex and confusing, hence there are now two finders: * GroupsFinder: for finding groups a user can see * JoinedGroupsFinder: for finding groups that user A is a member of, restricted to either public groups or groups user B can also see.
* Renamed GroupsFinder spec file so the name matchesYorick Peterse2015-11-181-0/+0
|
* Allow groups to appear in the search results if the group owner allows itValery Sizov2015-11-051-0/+15
|
* Merge remote-tracking branch 'public/trending-projects-performance'Dmitriy Zaporozhets2015-10-081-0/+39
|\
| * Revamp trending projects queryYorick Peterse2015-10-061-24/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the query to use a COUNT nested in an INNER JOIN, instead of a COUNT plus a GROUP BY. There are two reasons for this: 1. Using a COUNT in an INNER JOIN can be quite a bit faster. 2. The use of a GROUP BY means that method calls such as "any?" (and everything else that calls "count") operate on a Hash that counts the amount of notes on a per project basis, instead of just counting the total amount of projects. The query has been moved into Project.trending as its logic is simple enough. As a result of this testing the TrendingProjectsFinder class simply involves testing if the right methods are called, removing the need for setting up database records.
| * Added specs for TrendingProjectsFinderYorick Peterse2015-10-061-0/+43
| |
* | Support filtering by "Any" milestone or issue and fix "No Milestone" and "No ↵Stan Hu2015-10-071-0/+20
|/ | | | | | | | Label" filters Closes #2619 Closes https://github.com/gitlabhq/gitlabhq/issues/9631
* Add `Group#add_*` convenience methodsrs-group-convenience-methodsRobert Speicher2015-08-071-1/+1
| | | | Encapsulates the logic for `Gitlab::Access::WHATEVER` levels.
* Set milestone on new issue when creating issue from index with milestone ↵Douwe Maan2015-05-272-10/+10
| | | | filter active.
* Group milestones by title in the dashboard and all other issue viewsDominik Sander2015-05-011-1/+1
| | | | | | | | | This groups milestones by title for issue views like it has been done for the milestone dashboard/project overview. Before milestones with the same title would show up multiple times in the filter dropdown and one could only filter per project and milestone. Now the milestone filter is based on the title of the milestone, i.e. all issues marked with the same milestone title are shown.
* Updated rspec to rspec 3.x syntaxJeroen van Baarsen2015-02-125-51/+51
| | | | Signed-off-by: Jeroen van Baarsen <jeroenvanbaarsen@gmail.com>
* More tests for issues finderDmitriy Zaporozhets2014-12-051-29/+52
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* internal snippets: fix exposing of titleValery Sizov2014-10-241-0/+7
|
* Snippets: public/internal/privateValery Sizov2014-10-091-0/+94
|
* Serialize last_fetched_at as a string with secondsJacob Vosmaer2014-04-281-1/+1
|
* Always set last_fetched_at in NotesFinder specJacob Vosmaer2014-04-281-3/+3
|
* Filter out old notes in NotesFinderJacob Vosmaer2014-04-281-0/+7
|
* Fail faster on an invalid target_typeJacob Vosmaer2014-04-281-0/+5
|
* Notes have noteables but no commitsJacob Vosmaer2014-04-281-1/+1
|
* Add NotesFinder specJacob Vosmaer2014-04-281-0/+26
|
* Fix tests that dont respect project-fork relationDmitriy Zaporozhets2014-04-031-4/+4
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Merge pull request #6557 from tsigo/faster-merge-request-featuresDmitriy Zaporozhets2014-03-191-11/+7
|\ | | | | Speed up features/notes_on_merge_requests_spec
| * Speed up finders/merge_requests_finder_specRobert Speicher2014-03-191-11/+7
| | | | | | | | | | Uses the :simple merge request factory trait introduced by d166e70; cuts execution time of this spec in half.
* | Make use of project factory traitsRobert Speicher2014-03-191-4/+4
|/
* Update tests and fix Finders readmeDmitriy Zaporozhets2014-02-253-0/+146
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>