diff --git a/rhodecode/events/base.py b/rhodecode/events/base.py --- a/rhodecode/events/base.py +++ b/rhodecode/events/base.py @@ -68,4 +68,4 @@ class RhodecodeEvent(object): return '' def as_dict(self): - return self.MarshmallowSchema().dump(self).data \ No newline at end of file + return self.MarshmallowSchema().dump(self).data diff --git a/rhodecode/model/pull_request.py b/rhodecode/model/pull_request.py --- a/rhodecode/model/pull_request.py +++ b/rhodecode/model/pull_request.py @@ -749,9 +749,10 @@ class PullRequestModel(BaseModel): return ids_to_add, ids_to_remove def get_url(self, pull_request): - return h.url('pullrequest_show', repo_name=self.target_repo.repo_name, - pull_request_id=self.pull_request_id, - qualified=True) + return h.url('pullrequest_show', + repo_name=pull_request.target_repo.repo_name, + pull_request_id=pull_request.pull_request_id, + qualified=True) def notify_reviewers(self, pull_request, reviewers_ids): # notification to reviewers diff --git a/rhodecode/tests/events/test_pullrequest.py b/rhodecode/tests/events/test_pullrequest.py --- a/rhodecode/tests/events/test_pullrequest.py +++ b/rhodecode/tests/events/test_pullrequest.py @@ -47,7 +47,7 @@ def test_pullrequest_events_serialized(p assert data['name'] == EventClass.name assert data['repo']['repo_name'] == pr.target_repo.repo_name assert data['pullrequest']['pull_request_id'] == pr.pull_request_id - + assert data['pullrequest']['url'] @pytest.mark.backends("git", "hg") def test_create_pull_request_events(pr_util): diff --git a/rhodecode/tests/events/test_repo.py b/rhodecode/tests/events/test_repo.py --- a/rhodecode/tests/events/test_repo.py +++ b/rhodecode/tests/events/test_repo.py @@ -59,6 +59,7 @@ def test_repo_events_serialized(repo_stu data = event.as_dict() assert data['name'] == EventClass.name assert data['repo']['repo_name'] == repo_stub.repo_name + assert data['repo']['url'] @pytest.mark.parametrize('EventClass', [ @@ -69,17 +70,19 @@ def test_vcs_repo_events_serialize(repo_ data = event.as_dict() assert data['name'] == EventClass.name assert data['repo']['repo_name'] == repo_stub.repo_name + assert data['repo']['url'] @pytest.mark.parametrize('EventClass', [RepoPushEvent]) -def test_vcs_repo_events_serialize(repo_stub, scm_extras, EventClass): +def test_vcs_repo_push_event_serialize(repo_stub, scm_extras, EventClass): event = EventClass(repo_name=repo_stub.repo_name, pushed_commit_ids=scm_extras['commit_ids'], extras=scm_extras) data = event.as_dict() assert data['name'] == EventClass.name assert data['repo']['repo_name'] == repo_stub.repo_name + assert data['repo']['url'] def test_create_delete_repo_fires_events(backend):