Initial commit - Mold Cost Calculator Application (Security Fixed)

This commit is contained in:
Gan, Jimmy
2025-06-24 10:28:55 +08:00
commit 9b84cee5be
108 changed files with 15886 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
import os
os.environ["SECRET_KEY"] = os.getenv("TEST_SECRET_KEY", "test-secret-key-for-testing-only")
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()