Spaces:
Sleeping
Sleeping
File size: 1,717 Bytes
fd2ce9d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | import pytest
from unittest.mock import Mock, patch
from app.repositories.payment import save_order_to_db
from app.services.razorpay import RazorpayService
class TestPaymentRepository:
"""Test cases for Payment repository"""
@patch('app.repositories.payment.database')
def test_save_order_to_db(self, mock_database):
"""Test saving order to database"""
# Mock database response
mock_database.execute.return_value = Mock()
# Test data
order_data = {
"order_id": "test_order_123",
"amount": 1000,
"currency": "INR"
}
# This is a placeholder test - implement based on actual functionality
assert True # Replace with actual test logic
class TestRazorpayService:
"""Test cases for Razorpay service"""
@pytest.fixture
def razorpay_service(self):
"""Fixture to create RazorpayService instance"""
with patch.dict('os.environ', {
'RAZORPAY_KEY_ID': 'test_key_id',
'RAZORPAY_KEY_SECRET': 'test_key_secret'
}):
return RazorpayService()
@patch('razorpay.Client')
def test_create_order(self, mock_client, razorpay_service):
"""Test order creation"""
# Mock Razorpay client
mock_order = {
'id': 'order_test123',
'amount': 100000,
'currency': 'INR'
}
mock_client.return_value.order.create.return_value = mock_order
# Test order creation
result = razorpay_service.create_order(1000, "receipt_123", "INR")
assert result['id'] == 'order_test123'
assert result['amount'] == 100000 |