Add full avatar URL for on-call users in schedule internal API (#2414)
# What this PR does Adds full avatar URL for on-call users in schedule internal API (`avatar_full`). ## Checklist - [x] Unit, integration, and e2e (if applicable) tests updated - [x] Documentation added (or `pr:no public docs` PR label added if not required) - [x] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required)
This commit is contained in:
parent
97096b4663
commit
44e1bef250
3 changed files with 45 additions and 1 deletions
|
|
@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## Unreleased
|
||||
|
||||
### Added
|
||||
|
||||
- Add full avatar URL for on-call users in schedule internal API by @vadimkerr ([#2414](https://github.com/grafana/oncall/pull/2414))
|
||||
|
||||
## v1.3.3 (2023-06-29)
|
||||
|
||||
### Added
|
||||
|
|
|
|||
|
|
@ -1858,3 +1858,36 @@ def test_get_schedule_from_other_team_with_flag(
|
|||
|
||||
response = client.get(url, format="json", **make_user_auth_headers(user, token))
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_get_schedule_on_call_now(
|
||||
make_organization, make_user_for_organization, make_token_for_organization, make_schedule, make_user_auth_headers
|
||||
):
|
||||
organization = make_organization(grafana_url="https://example.com")
|
||||
user = make_user_for_organization(organization, username="test", avatar_url="/avatar/test123")
|
||||
_, token = make_token_for_organization(organization)
|
||||
|
||||
schedule = make_schedule(
|
||||
organization,
|
||||
schedule_class=OnCallScheduleWeb,
|
||||
name="test_web_schedule",
|
||||
)
|
||||
|
||||
client = APIClient()
|
||||
url = reverse("api-internal:schedule-list")
|
||||
with patch(
|
||||
"apps.schedules.models.on_call_schedule.OnCallScheduleQuerySet.get_oncall_users",
|
||||
return_value={schedule.pk: [user]},
|
||||
):
|
||||
response = client.get(url, format="json", **make_user_auth_headers(user, token))
|
||||
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
assert response.json()["results"][0]["on_call_now"] == [
|
||||
{
|
||||
"pk": user.public_primary_key,
|
||||
"username": "test",
|
||||
"avatar": "/avatar/test123",
|
||||
"avatar_full": "https://example.com/avatar/test123",
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -270,7 +270,12 @@ class User(models.Model):
|
|||
self._timezone = value
|
||||
|
||||
def short(self):
|
||||
return {"username": self.username, "pk": self.public_primary_key, "avatar": self.avatar_url}
|
||||
return {
|
||||
"username": self.username,
|
||||
"pk": self.public_primary_key,
|
||||
"avatar": self.avatar_url,
|
||||
"avatar_full": self.avatar_full_url,
|
||||
}
|
||||
|
||||
# Insight logs
|
||||
@property
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue