""" Integration tests for Billing module endpoints Tests credit balance, usage, transactions return unified format """ from rest_framework import status from igny8_core.api.tests.test_integration_base import IntegrationTestBase class BillingIntegrationTestCase(IntegrationTestBase): """Integration tests for Billing module""" def test_credit_balance_returns_unified_format(self): """Test GET /api/v1/billing/credits/balance/balance/ returns unified format""" response = self.client.get('/api/v1/billing/credits/balance/balance/') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assert_unified_response_format(response, expected_success=True) self.assertIn('data', response.data) def test_credit_usage_returns_unified_format(self): """Test GET /api/v1/billing/credits/usage/ returns unified format""" response = self.client.get('/api/v1/billing/credits/usage/') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assert_paginated_response(response) def test_usage_summary_returns_unified_format(self): """Test GET /api/v1/billing/credits/usage/summary/ returns unified format""" response = self.client.get('/api/v1/billing/credits/usage/summary/') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assert_unified_response_format(response, expected_success=True) self.assertIn('data', response.data) def test_usage_limits_returns_unified_format(self): """Test GET /api/v1/billing/credits/usage/limits/ returns unified format""" response = self.client.get('/api/v1/billing/credits/usage/limits/') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assert_unified_response_format(response, expected_success=True) self.assertIn('data', response.data) def test_transactions_returns_unified_format(self): """Test GET /api/v1/billing/credits/transactions/ returns unified format""" response = self.client.get('/api/v1/billing/credits/transactions/') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assert_paginated_response(response)