def test_shouldSendMessageIfNoUsersInBranch(self):
     branch_queue_info = BranchQueue()
     branch_queue_info.active_user = None
     branch_queue_info.users_queue = deque()
     self._merge_dispatcher.get_branch_queue_info.return_value = branch_queue_info
     self._presentation_model.request_kick(self._identifier)
     self._message_sender.send.assert_called_once_with(
         self._identifier, Messages.KICK_NO_USERS_TO_KILL)
 def test_shouldNotSendMessageIfUserWasKickedAndKickedUserSameWithRequesterID(
         self):
     branch_queue_info = BranchQueue()
     branch_queue_info.active_user = self._user
     self._merge_dispatcher.get_branch_queue_info.return_value = branch_queue_info
     self._merge_dispatcher.kick.return_value = KickRequestStatus.user_kicked
     self._presentation_model.request_kick(self._identifier, self._branch,
                                           self._identifier)
     self._message_sender.send.assert_not_called()
 def test_shouldSendMessageIfUserWasKicked(self):
     user_id = 9999
     active_user = User("Chivas Regal", user_id)
     branch_queue_info = BranchQueue()
     branch_queue_info.active_user = active_user
     self._merge_dispatcher.get_branch_queue_info.return_value = branch_queue_info
     self._merge_dispatcher.kick.return_value = KickRequestStatus.user_kicked
     self._presentation_model.request_kick(self._identifier, self._branch,
                                           user_id)
     self._message_sender.send.assert_called_once_with(
         self._identifier, Messages.KICK_USER_WAS_KICKED)
Exemplo n.º 4
0
 def get_branch_queue_info(self, branch_name):
     if branch_name not in self._model.get_branches():
         return None
     else:
         branch_queue_info = BranchQueue()
         branch_queue_info.active_user = self._model.get_branches()[branch_name].active_user
         for user in self._model.get_branches()[branch_name].users_queue:
             branch_queue_info.users_queue.append(user)
         for user in self._model.get_branches()[branch_name].subscriptions:
             branch_queue_info.subscriptions.add(user)
         return branch_queue_info
 def test_shouldSendMessageWithUsersListIfUsersInBranch(self):
     active_user = User("Johnny Walker", 8888)
     user_in_queue = User("Chivas Regal", 9999)
     branch_queue_info = BranchQueue()
     branch_queue_info.active_user = active_user
     branch_queue_info.users_queue = deque([user_in_queue, self._user])
     self._merge_dispatcher.get_branch_queue_info.return_value = branch_queue_info
     self._presentation_model.request_kick(self._identifier)
     self._message_sender.send_user_selector.assert_called_once_with(
         self._identifier, States.kick, Messages.KICK_SELECT_USER,
         [active_user, user_in_queue, self._user],
         MessageSender.Payload(branch=self._branch))
 def test_shouldWorkIfNoActiveUserButUsersInQueue(self):
     branch_queue_info = BranchQueue()
     branch_queue_info.active_user = None
     branch_queue_info.users_queue = deque([self._user])
     self._merge_dispatcher.get_branch_queue_info.return_value = branch_queue_info
     self._presentation_model.request_queue_info(self._identifier,
                                                 self._branch)
     users_list = Messages.QUEUE_INFO_CURRENT_USER_IN_QUEUE.format(
         self._user.get_name())
     message = Messages.QUEUE_INFO_MESSAGE.format(self._branch, users_list)
     self._message_sender.send.assert_called_once_with(
         self._identifier, message)
 def test_shouldCallMessageSenderIfOnlyActiveUserInQueueAndHeIsCurrentUserFromRequest(
         self):
     branch_queue_info = BranchQueue()
     branch_queue_info.active_user = self._user
     self._merge_dispatcher.get_branch_queue_info.return_value = branch_queue_info
     self._presentation_model.request_queue_info(self._identifier,
                                                 self._branch)
     users_list = Messages.QUEUE_INFO_CURRENT_USER_IN_MERGE.format(
         self._user.get_name())
     message = Messages.QUEUE_INFO_MESSAGE.format(self._branch, users_list)
     self._message_sender.send.assert_called_once_with(
         self._identifier, message)
 def test_shouldCallMessageSenderIfOnlyActiveUserInQueue(self):
     active_user = User("Johnny Walker", 90909)
     branch_queue_info = BranchQueue()
     branch_queue_info.active_user = active_user
     self._merge_dispatcher.get_branch_queue_info.return_value = branch_queue_info
     self._presentation_model.request_queue_info(self._identifier,
                                                 self._branch)
     users_list = Messages.QUEUE_INFO_USER_IN_MERGE.format(
         active_user.get_name())
     message = Messages.QUEUE_INFO_MESSAGE.format(self._branch, users_list)
     self._message_sender.send.assert_called_once_with(
         self._identifier, message)
 def test_shouldCallMessageSenderIfMergeRequestWasSuccessfulAndUserPlacedInQueue(
         self):
     active_user = User("Johnny Walker", 8888)
     user_in_queue = User("Chivas Regal", 9999)
     branch_queue_info = BranchQueue()
     branch_queue_info.active_user = active_user
     branch_queue_info.users_queue = deque([user_in_queue])
     self._merge_dispatcher.get_branch_queue_info.return_value = branch_queue_info
     self._merge_dispatcher.merge.return_value = MergeRequestStatus.merge_requested
     self._presentation_model.request_merge(self._identifier, self._branch)
     self._message_sender.send.assert_called_once_with(
         self._identifier,
         Messages.MERGE_ADDED_TO_QUEUE_MESSAGE.format("2nd", self._branch))
 def test_shouldCallMessageSenderIfNoActiveUserAndQueueIsEmpty(self):
     self._merge_dispatcher.get_branch_queue_info.return_value = BranchQueue(
     )
     self._presentation_model.request_queue_info(self._identifier,
                                                 self._branch)
     self._message_sender.send.assert_called_once_with(
         self._identifier,
         Messages.QUEUE_EMPTY_INFO_MESSAGE.format(self._branch))