- Add explicit check for ERP_URL environment variable
- Prevent AttributeError when ERP_URL is not set
- Provide clear error message for missing configuration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Import only login and logout (remove close_session)
- Add explicit URL construction before login call
- Pass all required parameters to login()
- Replace close_session() with direct context.close() and browser.close()
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove close_session() wrapper function entirely
- Callers now directly manage browser/context lifecycle
- Reduces module to pure authentication functions only
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove all os.getenv() calls from login() function
- Remove URL construction logic (caller provides complete URL)
- Add parameter validation with clear error messages
- Function is now pure with no side effects
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove os, dotenv, and pathlib imports
- Remove module-level environment setup code
- Prepare for pure function implementation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Create detailed step-by-step implementation plan
- 9 tasks covering all refactoring aspects
- TDD approach with explicit verification steps
- Include test updates and documentation changes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Document decoupling approach for utils/auth.py
- Remove all environment variable dependencies
- Make login() a pure function with required parameters
- Remove close_session() function
- Provide migration guide for test scripts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Document project overview and architecture
- Add development environment setup instructions
- Specify environment configuration requirements
- Document module structure and page interaction patterns
- Add common commands for testing
- Establish code conventions including mandatory test coverage for new components
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Configured standard Python .gitignore with patterns for virtual environments, compiled files, packages, testing, IDEs, and AI agent directories.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>