コード例 #1
0
    def test_parse_ask_from_another_user(self):
        askee_username = self.faker.first_name()
        message = f'ask {askee_username}'
        session = {}

        result = SmsParser.parse(message, self.phone, session)

        self.assertEqual(result['action'], ACTIONS_LIST['ask_from_another_user'])
        self.assertEqual(result['payload']['askee_username'], askee_username)
コード例 #2
0
    def test_parse_is_view_single_recommendation(self):
        position = str(self.faker.pyint())
        message = f'Show {position}'
        session = {}

        result = SmsParser.parse(message, self.phone, session)

        self.assertEqual(result['action'], ACTIONS_LIST['view_single_recommendation'])
        self.assertEqual(result['payload']['position_in_list'], position)
コード例 #3
0
    def test_parse_is_delete(self):
        position = str(self.faker.pyint())
        message = f'Delete {position}'
        session = {}

        result = SmsParser.parse(message, self.phone, session)

        self.assertEqual(result['action'], ACTIONS_LIST['delete'])
        self.assertEqual(result['payload']['position_in_list'], position)
コード例 #4
0
    def test_parse_is_add_context(self):
        message = ''.join(self.faker.words(5))
        session = {'latest_recommendation_id': self.faker.pyint()}

        result = SmsParser.parse(message, self.phone, session)

        self.assertEqual(result['action'], ACTIONS_LIST['add_context'])
        self.assertEqual(result['payload']['context'], message)
        self.assertEqual(result['payload']['session'], session)
コード例 #5
0
    def test_parse_is_invite(self):
        # Unfortunately, fakers phone numbers have extensions, which we don't support for now
        # invite_number = self.faker.phone_number()
        invite_number = '999-555-3322'
        message = f'invite {invite_number}'
        session = {}

        result = SmsParser.parse(message, self.phone, session)

        self.assertEqual(result['action'], ACTIONS_LIST['invite'])
        self.assertEqual(result['payload']['invite_number'], invite_number)
コード例 #6
0
    def test_parse_is_view_list_when_valid(self):
        # Arrange
        message = 'list'
        session = {}

        # Act
        result = SmsParser.parse(message, self.phone, session)

        # Assert
        self.assertEqual(result['action'], ACTIONS_LIST['view_list'])
        self.assertEqual(result['payload']['phone'], self.phone)
コード例 #7
0
    def test_parse_is_rec_for_me_when_valid(self):
        # Arrange
        title = ''.join(self.faker.words(4))
        message = 'rec ' + title + ' to me'
        session = {}

        # Act
        result = SmsParser.parse(message, self.phone, session)

        # Assert
        self.assertEqual(result['action'], ACTIONS_LIST['create_recommendation_for_me'])
        self.assertEqual(result['payload']['name'], title)
コード例 #8
0
    def test_parse_is_create_new_user_when_username_is_valid(self):
        # Arrange
        username = self.faker.first_name()
        message = 'I am ' + username
        session = {}

        # Act
        result = SmsParser.parse(message, self.phone, session)

        # Assert
        self.assertEqual(result['action'], ACTIONS_LIST['create_user'])
        self.assertEqual(result['payload']['username'], username)
コード例 #9
0
    def test_parse_is_recommendation_acception_when_valid(self):
        # Arrange
        recommendation_id = str(self.faker.pyint())
        message = 'r' + recommendation_id
        session = {}

        # Act
        result = SmsParser.parse(message, self.phone, session)

        # Assert
        self.assertEqual(result['action'], ACTIONS_LIST['accept_recommendation_from_another_user'])
        self.assertEqual(result['payload']['recommendation_id'], recommendation_id)
        self.assertEqual(result['payload']['phone'], self.phone)
コード例 #10
0
    def test_parse_is_rec_for_another_user_when_valid(self):
        # Arrange
        username = self.faker.first_name()
        title = ''.join(self.faker.words(4))
        message = 'rec ' + title + ' to ' + username
        session = {}

        # Act
        result = SmsParser.parse(message, self.phone, session)

        # Assert
        self.assertEqual(result['action'], ACTIONS_LIST['create_recommendation_for_another_user'])
        self.assertEqual(result['payload']['name'], title)
        self.assertEqual(result['payload']['recommendee_username'], username)
        self.assertEqual(result['payload']['recommender_phone'], self.phone)