summaryrefslogtreecommitdiff
path: root/spec/features/groups_spec.rb
Commit message (Collapse)AuthorAgeFilesLines
* Autocorrect with RSpec/ExampleWording copThong Kuah2019-04-051-1/+1
| | | | | | | - rewords examples starting with 'should' - rewords examples starting with 'it' Note: I had to manually fixup "onlies" to "only"
* Merge branch '53104-redesign-group-overview-ui-mvc' into 'master'Kushal Pandya2019-01-301-4/+4
|\ | | | | | | | | | | | | Resolve "Redesign group overview UI: MVC" Closes #53104 See merge request gitlab-org/gitlab-ce!23866
| * Refresh group overview to match project overviewDennis Tang2019-01-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | - Avatar, group name, and group description now left-aligned - Notification setting and "New project" CTA right-aligned with group avatar and name - Leave group / request access now a link next to the 'Group' label below the group name - Notification setting label removed in favor of icons - Tooltip added to indicate notification setting - Search option moved inside table header next to "Sort by"
* | Enable the Layout/ExtraSpacing cop56392-enable-the-layout-extraspacing-copRémy Coutable2019-01-241-1/+1
| | | | | | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* | Fix DirtySubmit handling of checkbox and radio inputsLuke Bennett2019-01-221-1/+3
|/ | | | | Most browsers do not fire the "input" event for checkboxes or radios. Adds a "change" listener to properly trigger these DirtySubmit updates.
* Fix new group visibility form for non-admins52771-ldap-users-can-t-choose-private-or-internal-when-creating-a-new-groupLuke Bennett2018-11-071-1/+21
| | | | | | | Removes an owner permission check before rendering the visibility select radio inputs as non-admins will not have permission. Ensures all users creating a group can select its visibility.
* Resolve "Create new group: Rename form fields and update UI"Martin Wortschack2018-10-301-6/+8
|
* Prioritize group settings, improve panel titles, disable submit without changesLuke Bennett2018-10-151-1/+4
|
* Fix #48934 - Focus on text input on danger confirmationJamie Schembri2018-07-061-0/+6
|
* Enable Capybara/FeatureMethods copWinnie Hellmann2018-07-051-1/+1
|
* Fix tests after group settings page redesignDmitriy Zaporozhets2018-05-281-1/+1
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Redesign group settings page into expandable sectionsDmitriy Zaporozhets2018-05-281-2/+4
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Merge branch 'master' into sh-headless-chrome-supportMike Greiling2017-10-231-16/+7
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: (297 commits) Fix deletion of container registry or images returning an error The fog-aliyun gem had a bug in v0.1.0 for file storage creation/update. This merge requests update the gem to v0.2.0 which contains the fix: Decrease ABC threshold to 54.28 Update VERSION to 10.2.0-pre Update CHANGELOG.md for 10.1.0 Document `CI_SHARED_ENVIRONMENT` and `CI_DISPOSABLE_ENVIRONMENT` Fix the external URLs generated for online view of HTML artifacts Use title as placeholder instead of issue title for reusability Fix failure in current_settings_spec.rb Clarify the difference between project_update and project_rename URI decode Page-Title header to preserve UTF-8 characters Update Gitaly version to v0.49.0 Decrease Perceived Complexity threshold to 14 Resolve "Remove help text regarding group issues on group issues page (and group merge requests page)" Force non diff resolved discussion to display when collapse toggled Added submodule support in multi-file editor add note about after_script being run separately Check for element before evaluate_script Merge branch 'master-i18n' into 'master' Update Prometheus gem to fix problems with other files overwriting current file ...
| * Merge branch 'master' into bvl-group-treesBob Van Landuyt2017-10-101-3/+3
| |\
| * | Update feature specs for updated group listsBob Van Landuyt2017-10-051-11/+6
| | |
| * | Remove the subgroups path on a groupBob Van Landuyt2017-10-041-13/+9
| | |
* | | explicitly specify search for hidden elementMike Greiling2017-10-231-1/+1
| |/ |/| | | | | [ci-skip]
* | Replaces `tag: true` into `:tag` in the specsJacopo2017-10-071-3/+3
|/ | | | | | Replaces all the explicit include metadata syntax in the specs (tag: true) into the implicit one (:tag). Added a cop to prevent future errors and handle autocorrection.
* more spec fixesPhil Hughes2017-08-291-1/+1
|
* Improves subgroup creation permissions35845-improve-subgroup-creation-permissionsTiago Botelho2017-08-211-5/+12
|
* Remove superfluous type defs in specsKeifer Furzland2017-07-271-1/+1
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Merge branch 'master' into rs-sign_inRobert Speicher2017-07-061-3/+9
|\
| * Remove group modal like remove project modal. Closes #33130Diego Souza2017-07-041-3/+9
| |
* | Change gitlab_sign_in to sign_in where possibleRobert Speicher2017-06-291-5/+5
|/
* Change `logout` uses to `gitlab_sign_out`Robert Speicher2017-06-191-2/+2
| | | | Change `logout_direct` uses to `gitlab_sign_out_direct`
* Change `login_as` uses to `gitlab_sign_in`Robert Speicher2017-06-191-3/+3
|
* Correct RSpec/SingleLineHook cop offensesRobert Speicher2017-06-141-2/+6
|
* Use CTEs for nested groups and authorizationsYorick Peterse2017-05-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces the usage of Common Table Expressions (CTEs) to efficiently retrieve nested group hierarchies, without having to rely on the "routes" table (which is an _incredibly_ inefficient way of getting the data). This requires a patch to ActiveRecord (found in the added initializer) to work properly as ActiveRecord doesn't support WITH statements properly out of the box. Unfortunately MySQL provides no efficient way of getting nested groups. For example, the old routes setup could easily take 5-10 seconds depending on the amount of "routes" in a database. Providing vastly different logic for both MySQL and PostgreSQL will negatively impact the development process. Because of this the various nested groups related methods return empty relations when used in combination with MySQL. For project authorizations the logic is split up into two classes: * Gitlab::ProjectAuthorizations::WithNestedGroups * Gitlab::ProjectAuthorizations::WithoutNestedGroups Both classes get the fresh project authorizations (= as they should be in the "project_authorizations" table), including nested groups if PostgreSQL is used. The logic of these two classes is quite different apart from their public interface. This complicates development a bit, but unfortunately there is no way around this. This commit also introduces Gitlab::GroupHierarchy. This class can be used to get the ancestors and descendants of a base relation, or both by using a UNION. This in turn is used by methods such as: * Namespace#ancestors * Namespace#descendants * User#all_expanded_groups Again this class relies on CTEs and thus only works on PostgreSQL. The Namespace methods will return an empty relation when MySQL is used, while User#all_expanded_groups will return only the groups a user is a direct member of. Performance wise the impact is quite large. For example, on GitLab.com Namespace#descendants used to take around 580 ms to retrieve data for a particular user. Using CTEs we are able to reduce this down to roughly 1 millisecond, returning the exact same data. == On The Fly Refreshing Refreshing of authorizations on the fly (= when users.authorized_projects_populated was not set) is removed with this commit. This simplifies the code, and ensures any queries used for authorizations are not mutated because they are executed in a Rails scope (e.g. Project.visible_to_user). This commit includes a migration to schedule refreshing authorizations for all users, ensuring all of them have their authorizations in place. Said migration schedules users in batches of 5000, with 5 minutes between every batch to smear the load around a bit. == Spec Changes This commit also introduces some changes to various specs. For example, some specs for ProjectTeam assumed that creating a personal project would _not_ lead to the owner having access, which is incorrect. Because we also no longer refresh authorizations on the fly for new users some code had to be added to the "empty_project" factory. This chunk of code ensures that the owner's permissions are refreshed after creating the project, something that is normally done in Projects::CreateService.
* Add a name field to the group edit formadd-field-for-group-nameDouglas Lovell2017-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enables user specification of group name vs. name inferred from group path. Cause new group form to copy name from path Adds some new page-specific javascript that copies entry from the group path field to the group name field when the group name field is initially empty. Remove duplicate group name entry field on group edit form This corrects the duplicated name entry field and tests that the JavaScript does not update the group name field if the user edits the group path. (Editing the group path is not recommended in any case, but it is possible.) Address eslint errors in group.js Enable group name copy with dispatch and explore group creation The dispatch and explore group creation forms require the group.js asset, and their tests now require testing against poltergeist Update workflow new group instruction Update the gitlab basics group creation document Add a change log entry Remove unused variable for eslint
* Groups section capitalization fixJose Ivan Vargas Lopez2017-04-061-1/+1
|
* Add more tests for subgroups featuredz-inherit-create-group-permissionDmitriy Zaporozhets2017-04-051-8/+31
| | | | | | | * subgroup can be created by owner of the group * project can be created inside subgroup by owner of the group Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Merge branch 'jej-group-name-disclosure' into 'security'Sean McGivern2017-03-291-0/+10
| | | | | | Prevent private group disclosure via parent_id See merge request !2077
* Add a new `stub_mattermost_setting` stub helper to properly stub Mattermost ↵Rémy Coutable2017-03-281-1/+1
| | | | | | settings Signed-off-by: Rémy Coutable <remy@rymai.me>
* Merge branch '26371-native-emojis-v3' into 'master' Filipa Lacerda2017-03-071-1/+1
|\ | | | | | | | | | | | | Add emoji images - Base Native Unicode Emojis Closes #26371 See merge request !9569
| * Use native unicode emojisEric Eastwood2017-03-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - gl_emoji for falling back to image/css-sprite when the browser doesn't support an emoji - Markdown rendering (Banzai filter) - Autocomplete - Award emoji menu - Perceived perf - Immediate response because we now build client-side - Update `digests.json` generation in gemojione rake task to be more useful and include `unicodeVersion` MR: !9437 See issues - #26371 - #27250 - #22474
* | Clean up specZ.J. van de Weg2017-03-061-3/+1
| |
* | Minor edits, incorporate reviewZ.J. van de Weg2017-03-061-1/+4
| |
* | Finished up mattermost team creationzj-create-mattermost-team-lbLuke "Jared" Bennett2017-02-221-0/+37
|/
* Allow creating nested group via UIdz-create-nested-groups-via-uiDmitriy Zaporozhets2017-02-071-1/+18
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Refactor nested group related codedz-nested-group-miscDmitriy Zaporozhets2016-12-291-1/+1
| | | | | | | * Simplify code around group parent access check * Rename 'Nested groups' to 'Subgroups' tab at group#show page Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Show nested groups tab on group pageDmitriy Zaporozhets2016-12-261-0/+13
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* 19205 Redesign group page header to match new navigation19205-group-header-redesigntauriedavis2016-11-091-4/+4
|
* Move edit group scenario to rspec and refactor groups_specDmitriy Zaporozhets2016-10-141-36/+42
| | | | Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
* Add specs for group edit and deletionissue-23306-fixStan Hu2016-10-141-0/+26
|
* Correct namespace validation to forbid bad names #21077Will Starms2016-10-071-1/+31
| | | | | | Adds .git and .atom to the master namespace regex Updates existing group tests and adds two new ones Updates path cleaning to also forbid .atom
* Fix creating group with space in group pathDouglas Barbosa Alexandre2016-07-141-4/+16
|
* Add `feature` tag to feature specsRobert Speicher2015-07-061-1/+1
| | | | | Not to be confused with the RSpec `type: :feature` tag, this tag is used by the `spec:feature` Rake task for filtering/grouping specs.
* Add feature specs for Project and Group description renderingRobert Speicher2015-06-021-0/+36