Skip to content

Commit c4628fc

Browse files
committed
Add tests for permessions
1 parent eb90c6b commit c4628fc

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
"""Test cases for Nest Calendar Events permissions."""
2+
3+
from unittest.mock import MagicMock, patch
4+
5+
from apps.nest.auth.calendar_events import has_calendar_events_permission
6+
from apps.owasp.models.entity_member import EntityMember
7+
from apps.slack.models.member import Member
8+
9+
10+
class TestCalendarEventsPermissions:
11+
"""Test cases for Nest Calendar Events permissions."""
12+
13+
@patch("apps.nest.auth.calendar_events.Member.objects.get")
14+
@patch("apps.nest.auth.calendar_events.EntityMember.objects.filter")
15+
def test_user_with_leader_role(self, mock_filter, mock_get):
16+
"""Test user with leader role has permission."""
17+
mock_member = MagicMock()
18+
mock_member.user = MagicMock()
19+
mock_get.return_value = mock_member
20+
mock_filter.return_value.exists.return_value = True
21+
22+
assert has_calendar_events_permission("U123456") is True
23+
mock_get.assert_called_once_with(slack_user_id="U123456")
24+
mock_filter.assert_called_once_with(member=mock_member.user, role=EntityMember.Role.LEADER)
25+
26+
@patch("apps.nest.auth.calendar_events.Member.objects.get")
27+
def test_user_not_found(self, mock_get):
28+
"""Test user not found has no permission."""
29+
mock_get.side_effect = Member.DoesNotExist
30+
31+
assert has_calendar_events_permission("U123456") is False
32+
mock_get.assert_called_once_with(slack_user_id="U123456")

0 commit comments

Comments
 (0)