示例#1
0
    def test_deposit_item_get_invalid_deposit_id(self):
        with self.client:
            # Auth
            register_user(self, self.username, self.password)

            # Deposit Item Get API
            response = make_deposit_item_get_api_request(
                self, self.username, self.password, "a")
            self.assert404(response)
示例#2
0
    def test_deposit_item_update_invalid_deposit_id(self):
        with self.client:
            # Auth
            register_user(self, self.username, self.password)

            # Deposit Item Update API
            response = make_deposit_item_update_api_request(
                self, self.username, self.password, "a", {'amount': 1000})
            self.assert404(response)
示例#3
0
    def test_nest_api_missing_input(self):
        """
            One of the input is missing in request, here 'data' is empty.
        """
        # Create user for auth
        register_user(self, self.username, self.password)

        # Call Nest Api
        response = make_nest_api_request(self, self.username, self.password,
                                         [], self.nesting_levels)
        data = json.loads(response.data.decode())

        self.assertEqual(data.get('status'), 'failed')
        self.assert400(response)
示例#4
0
    def test_nest_api_invalid_input(self):
        """
            One of the input has invalid value, here 'nesting_levels' has invalid
            level name. Level 'a' does not exists in actual data.
        """
        # Create user for auth
        register_user(self, self.username, self.password)

        # Call Nest Api
        response = make_nest_api_request(self, self.username, self.password,
                                         self.data, ['a'])
        data = json.loads(response.data.decode())

        self.assertEqual(data.get('status'), 'failed')
        self.assert400(response)
    def test_deposit_list_post_invalid_input(self):
        """
            One of the input is invalid in request, here 'amount' is List[str] instead of float.
        """
        # Create user for auth
        register_user(self, self.username, self.password)

        # Call Deposit Insert API
        data = self.data[0]
        data.update({'amount': [20]})
        response = make_deposit_list_post_api_request(self, self.username,
                                                      self.password, data)
        data = json.loads(response.data.decode())

        self.assert400(response)
    def test_deposit_list_post_request(self):
        """
            Insert's deposits in database with API
        """
        with self.client:
            register_user(self, self.username, self.password)

            response = make_deposit_list_post_api_request(
                self, self.username, self.password, self.data[0])

            data = json.loads(response.data.decode())

            self.assertEqual(data.get('status'), 'success')
            self.assertEqual(response.status_code, 201)
            self.assertEqual(data.get('message'), 'Deposited!')
    def test_deposit_list_post_missing_input(self):
        """
            One of the input is missing in request, here 'currency' is None.
        """
        # Create user for auth
        register_user(self, self.username, self.password)

        # Call Deposit Insert API
        data = self.data[0]
        data.update({'currency': None})
        response = make_deposit_list_post_api_request(self, self.username,
                                                      self.password, data)
        data = json.loads(response.data.decode())

        self.assertEqual(data.get('status'), 'failed')
        self.assert400(response)
示例#8
0
    def test_nest_api(self):
        """
            Valid request to Nest API
        """
        with self.client:

            # Create user for auth
            register_user(self, self.username, self.password)

            # Call Nest Api
            response = make_nest_api_request(self, self.username,
                                             self.password, self.data,
                                             self.nesting_levels)
            data = json.loads(response.data.decode())

            self.assertEqual(data.get('status'), 'success')
            self.assert200(response)
            self.assertEqual(data.get('data', {}), self.expected_response)
    def test_deposit_list_get_request(self):
        """
            Validates number of deposits done by the user and returned by the api
        """

        with self.client:
            register_user(self, self.username, self.password)

            self._insert_data()

            response = make_deposit_list_get_api_request(
                self, self.username, self.password)

            data = json.loads(response.data.decode())

            self.assertEqual(data.get('status'), 'success')
            self.assert200(response)
            self.assertEqual(len(data.get('data', [])), len(self.data))
示例#10
0
    def test_deposit_item_get_api(self):

        with self.client:
            # Auth
            register_user(self, self.username, self.password)

            # Insert Deposit
            response = make_deposit_list_post_api_request(
                self, self.username, self.password, self.data[0])
            data = json.loads(response.data.decode())
            deposit_id = data.get('data', {}).get('id')

            self.assertIsNotNone(deposit_id)

            # Fetch deposit by id
            response = make_deposit_item_get_api_request(
                self, self.username, self.password, deposit_id)
            data = json.loads(response.data.decode())

            self.assertEqual(data.get('status'), 'success')
            self.assert200(response)
            self.assertEqual(data.get('data', {}).get('id'), deposit_id)
示例#11
0
    def test_deposit_item_delete_api(self):
        # Auth
        register_user(self, self.username, self.password)

        # Insert Deposit
        response = make_deposit_list_post_api_request(self, self.username,
                                                      self.password,
                                                      self.data[0])
        data = json.loads(response.data.decode())
        deposit_id = data.get('data', {}).get('id')

        self.assertIsNotNone(deposit_id)

        # Delete deposit
        response = make_deposit_item_delete_api_request(
            self, self.username, self.password, deposit_id)
        data = json.loads(response.data.decode())

        message = data.get('message')
        expected_message = "Deleted deposit with id : {0}".format(deposit_id)

        self.assertEqual(message, expected_message)
        self.assert200(response)
示例#12
0
    def test_deposit_item_update_api(self):
        # Auth
        register_user(self, self.username, self.password)

        # Insert Deposit
        response = make_deposit_list_post_api_request(self, self.username,
                                                      self.password,
                                                      self.data[0])
        data = json.loads(response.data.decode())
        deposit_id = data.get('data', {}).get('id')
        data.get('data', {}).get('amount')

        self.assertIsNotNone(deposit_id)

        # Update Amount
        response = make_deposit_item_update_api_request(
            self, self.username, self.password, deposit_id, {'amount': 1000})
        data = json.loads(response.data.decode())

        self.assertEqual(data.get('status'), 'success')
        self.assert200(response)
        self.assertEqual(data.get('data', {}).get('id'), deposit_id)

        self.assertEqual(data.get('data', {}).get('amount'), 1000)