6c0d5a4e63
- Flask-based mold cost calculation application - PostgreSQL database with SQLAlchemy ORM - Docker/Podman containerization - Comprehensive documentation in docs/ - Clean, organized codebase without obsolete files - Production-ready deployment configuration - Enhanced pytest configuration with coverage reporting - Master/Development branch structure
65 lines
2.0 KiB
Python
65 lines
2.0 KiB
Python
import os
|
|
os.environ["SECRET_KEY"] = "XV@hLx*f5dezwYj36py$LKtMm6Qugyuv"
|
|
|
|
from app import create_app, db
|
|
from app.models import User, Quotation
|
|
from datetime import datetime, date
|
|
|
|
def test_user_quotation_relationship():
|
|
app = create_app()
|
|
with app.app_context():
|
|
# Create a test user
|
|
test_user = User(
|
|
username='testuser',
|
|
email='test@example.com',
|
|
password_hash='test_hash'
|
|
)
|
|
db.session.add(test_user)
|
|
db.session.commit()
|
|
|
|
print(f"Created test user: {test_user}")
|
|
|
|
# Create a test quotation
|
|
test_quotation = Quotation(
|
|
user_id=test_user.id,
|
|
mold_shop_name='Test Shop',
|
|
model_name='Test Model',
|
|
tooling_id='12345',
|
|
season='Spring',
|
|
stage='Development',
|
|
country='USA',
|
|
issue_date=date.today(),
|
|
approver='Test Approver',
|
|
approval_date=date.today(),
|
|
mold_main_type='Injection',
|
|
mold_sub_type='Standard',
|
|
sliders_count=2,
|
|
cavity_count=1,
|
|
digital_texture_type='Basic',
|
|
base_price=1000.0,
|
|
total_cost=1100.0
|
|
)
|
|
db.session.add(test_quotation)
|
|
db.session.commit()
|
|
|
|
print(f"Created test quotation: {test_quotation}")
|
|
|
|
# Test the relationship from User to Quotation
|
|
user_quotations = test_user.quotations
|
|
print(f"\nUser's quotations: {user_quotations}")
|
|
print(f"Number of quotations: {len(user_quotations)}")
|
|
|
|
# Test the relationship from Quotation to User
|
|
quotation_user = test_quotation.user
|
|
print(f"\nQuotation's user: {quotation_user}")
|
|
print(f"User ID matches: {quotation_user.id == test_user.id}")
|
|
|
|
# Clean up
|
|
db.session.delete(test_quotation)
|
|
db.session.delete(test_user)
|
|
db.session.commit()
|
|
|
|
print("\nTest completed successfully!")
|
|
|
|
if __name__ == '__main__':
|
|
test_user_quotation_relationship() |