Skip to content

Commit

Permalink
Merge pull request #1735 from Scifabric/issue-1734
Browse files Browse the repository at this point in the history
Issue 1734
  • Loading branch information
teleyinex committed Nov 6, 2017
2 parents 02563b5 + 1173480 commit 55f8d9b
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 19 deletions.
40 changes: 21 additions & 19 deletions pybossa/model/event_listeners.py
Expand Up @@ -16,6 +16,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with PYBOSSA. If not, see <http://www.gnu.org/licenses/>.
from datetime import datetime
from flask import current_app

from rq import Queue
from sqlalchemy import event
Expand Down Expand Up @@ -61,25 +62,26 @@ def add_blog_event(mapper, conn, target):
obj.update(tmp)
update_feed(obj)
# Notify volunteers
mail_queue.enqueue(notify_blog_users,
blog_id=target.id,
project_id=target.project_id)
contents = {"en": "New update!"}
headings = {"en": target.title}
launch_url = url_for('project.show_blogpost',
short_name=tmp['short_name'],
id=target.id,
_external=True)
web_buttons = [{"id": "read-more-button",
"text": "Read more",
"icon": "http://i.imgur.com/MIxJp1L.png",
"url": launch_url }]
webpush_queue.enqueue(push_notification,
project_id=target.project_id,
contents=contents,
headings=headings,
web_buttons=web_buttons,
launch_url=launch_url)
if current_app.config.get('DISABLE_EMAIL_NOTIFICATIONS') is None:
mail_queue.enqueue(notify_blog_users,
blog_id=target.id,
project_id=target.project_id)
contents = {"en": "New update!"}
headings = {"en": target.title}
launch_url = url_for('project.show_blogpost',
short_name=tmp['short_name'],
id=target.id,
_external=True)
web_buttons = [{"id": "read-more-button",
"text": "Read more",
"icon": "http://i.imgur.com/MIxJp1L.png",
"url": launch_url }]
webpush_queue.enqueue(push_notification,
project_id=target.project_id,
contents=contents,
headings=headings,
web_buttons=web_buttons,
launch_url=launch_url)


@event.listens_for(Project, 'after_insert')
Expand Down
24 changes: 24 additions & 0 deletions test/test_model/test_event_listeners.py
Expand Up @@ -55,6 +55,30 @@ def test_add_blog_event(self, mock_queue, mock_update_feed, mock_webpush):
mock_update_feed.assert_called_with(obj)
assert mock_webpush.called

@with_context
@patch('pybossa.model.event_listeners.webpush_queue.enqueue')
@patch('pybossa.model.event_listeners.update_feed')
@patch('pybossa.model.event_listeners.mail_queue')
def test_add_blog_event_disabled(self, mock_queue, mock_update_feed, mock_webpush):
"""Test add_blog_event is not called when disabled is enabled."""
conn = MagicMock()
target = MagicMock()
target.id = 1
target.project_id = 1
tmp = Project(id=1, name='name', short_name='short_name',
info=dict(container=1, thumbnail="avatar.png"))
conn.execute.return_value = [tmp]

with patch.dict(self.flask_app.config, {'DISABLE_EMAIL_NOTIFICATIONS': True}):
add_blog_event(None, conn, target)
assert mock_queue.enqueue.called is False
assert mock_update_feed.called
obj = tmp.to_public_json()
obj['action_updated'] = 'Blog'
mock_update_feed.assert_called_with(obj)
assert mock_webpush.called is False


@with_context
@patch('pybossa.model.event_listeners.update_feed')
def test_add_project_event(self, mock_update_feed):
Expand Down

0 comments on commit 55f8d9b

Please sign in to comment.