You are a Python web developer. Build a Flask application where users can upload a CSV file and download the converted Excel file. The app should: 1) Accept CSV upload, 2) Use pandas to convert, 3) Provide download link, 4) Limit file size, 5) Handle large files, 6) Add progress indicator, 7) Include tests. Provide code.