async def test_match_partner__first_partner_has_blocked_the_bot(self): stranger_mock = CoroutineMock() partner = CoroutineMock() partner.id = 31416 self.stranger_service._match_partner = Mock(return_value=partner) self.stranger_service._locked_strangers_ids = Mock() self.stranger_service.get_stranger_by_id = Mock( return_value=stranger_mock) partner.notify_partner_found.side_effect = [StrangerError(), None] stranger_id = 271828 await self.stranger_service.match_partner(stranger_id) self.assertEqual( self.stranger_service._locked_strangers_ids.discard.call_args_list, [ call(partner.id), call(partner.id), ], ) self.assertEqual( partner.notify_partner_found.call_args_list, [ call(stranger_id), call(stranger_id), ], ) stranger_mock.notify_partner_found.assert_called_once_with(partner.id)
async def test_match_partner__stranger_error(self): stranger_mock = CoroutineMock() partner = CoroutineMock() partner.id = 31416 self.stranger_service._match_partner = Mock(return_value=partner) self.stranger_service._locked_strangers_ids = Mock() stranger_mock.notify_partner_found.side_effect = StrangerError() with self.assertRaises(StrangerServiceError): await self.stranger_service.match_partner(stranger_mock) self.stranger_service._locked_strangers_ids.discard. \ assert_called_once_with(31416) stranger_mock.set_partner.assert_not_called()
async def test_match_partner__ok(self): stranger_mock = CoroutineMock() partner = CoroutineMock() partner.id = 31416 self.stranger_service._match_partner = Mock(return_value=partner) self.stranger_service._locked_strangers_ids = Mock() await self.stranger_service.match_partner(stranger_mock) self.stranger_service._locked_strangers_ids.discard. \ assert_called_once_with(31416) stranger_mock.notify_partner_found.assert_called_once_with(partner) partner.notify_partner_found.assert_called_once_with(stranger_mock) stranger_mock.set_partner.assert_called_once_with(partner)
async def test_match_partner__stranger_error(self): stranger = CoroutineMock() partner = CoroutineMock() partner.id = 31416 self.stranger_service._match_partner = Mock(return_value=partner) self.stranger_service._locked_strangers_ids = Mock() stranger.notify_partner_found.side_effect = StrangerError() with self.assertRaises(StrangerServiceError): await self.stranger_service.match_partner(stranger) self.stranger_service._locked_strangers_ids.discard. \ assert_called_once_with(31416) stranger.set_partner.assert_not_called()
async def test_match_partner__ok(self): stranger = CoroutineMock() partner = CoroutineMock() partner.id = 31416 self.stranger_service._match_partner = Mock(return_value=partner) self.stranger_service._locked_strangers_ids = Mock() await self.stranger_service.match_partner(stranger) self.stranger_service._locked_strangers_ids.discard. \ assert_called_once_with(31416) stranger.notify_partner_found.assert_called_once_with(partner) partner.notify_partner_found.assert_called_once_with(stranger) stranger.set_partner.assert_called_once_with(partner)
async def test_match_partner__first_partner_has_blocked_the_bot(self): stranger = CoroutineMock() partner = CoroutineMock() partner.id = 31416 self.stranger_service._match_partner = Mock(return_value=partner) self.stranger_service._locked_strangers_ids = Mock() partner.notify_partner_found.side_effect = [StrangerError(), None] await self.stranger_service.match_partner(stranger) self.assertEqual( self.stranger_service._locked_strangers_ids.discard.call_args_list, [ call(31416), call(31416), ], ) self.assertEqual( partner.notify_partner_found.call_args_list, [ call(stranger), call(stranger), ], ) stranger.notify_partner_found.assert_called_once_with(partner)