summaryrefslogtreecommitdiff
path: root/spec/mailers/notify_spec.rb
Commit message (Collapse)AuthorAgeFilesLines
* Bugfix: Always use the default language when generating emails.32748-emails-are-being-sent-with-the-wrong-languageRuben Davila2017-05-251-0/+9
| | | | | | There was a race condition issue when the application was generating an email and was using a language that was previously being used in other request.
* Backport of multiple_assignees_feature [ci skip]Valery Sizov2017-05-041-5/+5
|
* Auto-correct `RSpec/DescribedClass` violationsrs-described_class-cop-2Robert Speicher2017-05-011-41/+41
|
* Address review commentsDouwe Maan2017-04-051-6/+6
|
* Fix specsDouwe Maan2017-04-051-1/+1
|
* Add specsDouwe Maan2017-04-051-19/+123
|
* Better notification emails for notes and (diff) discussionsDouwe Maan2017-04-051-0/+2
|
* Don't use FFaker in factories, use sequences insteadRémy Coutable2017-04-031-2/+2
| | | | | | | FFaker can generate data that randomly break our test suite. This simplifies our factories and use sequences which are more predictive. Signed-off-by: Rémy Coutable <remy@rymai.me>
* Use `:empty_project` where possible in mailer specsRobert Speicher2017-03-271-5/+10
|
* Combine redundant `it` blocks in Notify specRobert Speicher2017-03-211-231/+149
| | | | | | We perform a bunch of setup for most of these cases, and it didn't make sense to do an entirely new costly setup just to test a different string in the same body of the email we just generated in the last test.
* Add a new have_html_escaped_body_text that match an HTML-escaped text20121-add-a-new-have_html_escaped_body_text-matcherRémy Coutable2017-03-171-31/+32
| | | | | | | This solves transient failures when a text contains HTML-escapable characters such as `'`. Signed-off-by: Rémy Coutable <remy@rymai.me>
* Fix intermittent spec failures in notify_spec.rbNick Thomas2017-03-141-111/+120
|
* Merge branch '24880-configurable-plaintext-emails' into 'master' Sean McGivern2016-11-291-0/+34
|\ | | | | | | | | | | | | Add setting to enable/disable HTML emails Closes #24880 See merge request !7749
| * Add new configuration setting to enable/disable HTML emails.24880-configurable-plaintext-emailsRuben Davila2016-11-281-0/+34
| | | | | | | | | | | | This new global setting will allow admins to specify if HTML emails should be sent or not, this is basically useful when system administrators want to save some disk space by avoiding emails in HTML format and using only the Plain Text version.
* | Fix spec styleSean McGivern2016-11-281-0/+1
| |
* | Tidy up text emailsSean McGivern2016-11-281-4/+4
| |
* | Clean up rubocop complainthhoopes2016-11-251-1/+1
| |
* | Add keyword arguments to truncated_diff methodhhoopes2016-11-251-7/+1
| | | | | | | | | | * Added keyword arguments to truncated_diff_lines method to allow for using highlighting or not (html templates vs. text) * Tweaked templates for consistency and format appropriateness
* | Change diff highlight/truncate for reusabilityhhoopes2016-11-251-1/+79
| | | | | | | | | | | | Previously the `truncated_diff_lines` method for outputting a discussion diff took in already highlighted lines, which meant it wasn't reuseable for truncating ANY lines. In the way it was used, it also meant that for any email truncation, the whole diff was being highlighted before being truncated, meaning wasted time highlighting lines that wouldn't even be used (granted, they were being memoized, so perhaps this wasn't that great of an issue). I refactored truncation away from highlighting, in order to truncate formatted diffs for text templates in email, using `>`s to designate each line, but otherwise retaining the parsing already done to create `diff_lines`. Additionally, while notes on merge requests or commits had already been tested, there was no existing test for notes on a diff on an MR or commit. Added mailer tests for such, and a unit test for truncating diff lines.
* | Add new template to handle both commit & mr noteshhoopes2016-11-251-17/+2
| | | | | | | | | | | | | | | | Currently comments on commits and merge requests do not require merge request- or commit-specific information, but can use the same template. Rather than change the method which calls the template, I opted to keep the templates separate and create a new template to highlight their identicality, while preserving the option to distinguish them from each other in the future. Also removed some of the inconsistencies between text and html email versions. Still needed is a text-only version of git diffs and testing.
* | Add diff hunks to notification emails on MRhhoopes2016-11-251-2/+17
|/ | | | | | Added diff hunks to notification emails of messages on merge requests. This provides code context to the note. Uses existing template for formatting a diff for email (from repository push notifications).
* Make access request specs explicitly enable or disable access requests as ↵Nick Thomas2016-11-111-5/+10
| | | | required
* Move spec/mailers/shared/notify.rb to spec/supportJared Ready2016-10-221-1/+0
|
* refactors tests because of gitlab-test repository changes20708-new-branch-is-immediatelly-tagged-as-mergedtiagonbotelho2016-10-111-1/+1
|
* override subject method in devise mailerFu Xu2016-10-031-1/+2
|
* move spec back into shared example `an email sent from GitLab`Fu Xu2016-10-031-7/+0
|
* stub config settings in specFu Xu2016-10-031-5/+2
|
* remove empty line at block body endFu Xu2016-10-031-1/+0
|
* create new test in `spec/mailers/notify_spec.rb`Fu Xu2016-10-031-0/+11
|
* Merge branch ↵Robert Speicher2016-10-021-24/+26
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | '21983-member-add_user-doesn-t-detect-existing-members-that-have-requested-access' into 'master' Resolve "`Member.add_user`doesn't detect existing members that have requested access" ## What does this MR do? This merge request handle the case when an access requester is added to a group or project (via the members page or the API). In `Member.add_user`, if an access requester already exists, we simply accept their request (and set the `created_by`, `access_level` and `expires_at` attributes if given). ## Are there points in the code the reviewer needs to double check? I've taken the opportunity to cleanup the whole `{Group,Project}Member.add_user*` methods since it was quite a mess. ## What are the relevant issue numbers? Closes #21983 See merge request !6393
| * Allow Member.add_user to handle access requestersRémy Coutable2016-09-281-24/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes include: - Ensure Member.add_user is not called directly when not necessary - New GroupMember.add_users_to_group to have the same abstraction level as for Project - Refactor Member.add_user to take a source instead of an array of members - Fix Rubocop offenses - Always use Project#add_user instead of project.team.add_user - Factorize users addition as members in Member.add_users_to_source - Make access_level a keyword argument in GroupMember.add_users_to_group and ProjectMember.add_users_to_projects - Destroy any requester before adding them as a member - Improve the way we handle access requesters in Member.add_user Instead of removing the requester and creating a new member, we now simply accepts their access request. This way, they will receive a "access request granted" email. - Fix error that was previously silently ignored - Stop raising when access level is invalid in Member, let Rails validation do their work Signed-off-by: Rémy Coutable <remy@rymai.me>
* | Fix specs that requires an access requestRémy Coutable2016-09-221-2/+2
|/ | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Fix "Unsubscribe" link in notification emails that is triggered by anti-virusMaximiliano Perez Coto2016-09-201-5/+5
| | | | | | | | | * Created a force=true param that will continue with the previous behaviour of the unsubscribe method * Created a filter for not-logged users so they see a unsubsribe confirmation page * Added the List-Unsubscribe header on emails so the email client can display it on top
* Merge branch 'master' into expiration-date-on-membershipsSean McGivern2016-08-181-5/+7
|\
| * adds second batch of tests changed to active tenseactive-tense-test-coveragetiagonbotelho2016-08-091-1/+1
| |
| * Introduce Compare model in the codebase.Paco Guzman2016-08-031-4/+6
| | | | | | This object will manage Gitlab::Git::Compare instances
* | Replace optional parameters with keyword arguments.Adam Niedzielski2016-08-021-2/+12
|/
* Make Notify specs more robust by setting up assignee namesRémy Coutable2016-07-221-1/+1
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Represent DiffRefs as proper class instead of tuple arrayDouwe Maan2016-07-061-2/+2
|
* Merge branch 'explicit-requesters-scope' into 'master' Douwe Maan2016-07-011-5/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exclude requesters from Project#members, Group#members and User#members ## What does this MR do? It excludes requesters from the `Project#members`, `Group#members` and `User#members` associations, and adds new `Project#requesters` and `Group#requesters` associations. ## Are there points in the code the reviewer needs to double check? No. ## Why was this MR needed? Without this, if you call `project.members`, requesters are included in the results! This is at best misleading, and at worst can lead to security issues. By excluding requesters from the `#members` associations, we avoid introducing security inadvertently since you have to call the `#requesters` association explicitly to get requesters. ## What are the relevant issue numbers? This is something I realized while fixing the security issue #19102. ## Does this MR meet the acceptance criteria? - [x] I don't think this needs a CHANGELOG since this is an internal change - Tests - [x] Added for this feature/bug - [ ] All builds are passing - [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides) - [x] Branch has no merge conflicts with `master` (if you do - rebase it please) - [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits) See merge request !4946
| * Exclude requesters from Project#members, Group#members and User#membersexplicit-requesters-scopeRémy Coutable2016-07-011-5/+5
| | | | | | | | | | | | And create new Project#requesters, Group#requesters scopes. Signed-off-by: Rémy Coutable <remy@rymai.me>
* | Enable Style/EmptyLines cop, remove redundant onesrubocop/enable-cops-for-empty-linesGrzegorz Bizon2016-07-011-5/+0
|/
* Fallback to group's owners/masters when a project has none18757-fixRémy Coutable2016-06-201-14/+47
| | | | | | | A project in a group can have no explicit owners/masters, in that case we fallbacks to the group's owners/masters. Signed-off-by: Rémy Coutable <remy@rymai.me>
* UI and copywriting improvements13948-access-request-to-projects-and-groupsRémy Coutable2016-06-141-54/+78
| | | | | | | | | + Move 'Edit Project/Group' out of membership-related partial + Show the access request buttons only to logged-in users + Put the request access buttons out of in a more visible button + Improve the copy in the #remove_member_message helper Signed-off-by: Rémy Coutable <remy@rymai.me>
* Factorize members mails into a new Emails::Members moduleRémy Coutable2016-06-141-77/+179
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Add request access for groupsRémy Coutable2016-06-141-2/+98
| | | | Signed-off-by: Rémy Coutable <remy@rymai.me>
* Update tests for the current_application_settings request store changesDJ Mountney2016-05-271-3/+3
|
* Syntax-highlight diffs in push emails17464-backport-email-syntax-highlightingSean McGivern2016-05-171-7/+9
| | | | | Based on: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/151
* Only generate repository push email onceSean McGivern2016-05-111-30/+6
| | | | | | | | | The repository push email can be very expensive to generate, especially with syntax-highlighted diffs. Instead of generating the email for each recipient, generate one email object and reset the Message-Id and To headers for each recipient. (Cloning would also be expensive in the case of large emails, although probably not as bad as generating from scratch.)
* format merge request references properlyBen Bodenmiller2016-04-181-6/+6
|