#!/usr/bin/env node /** * Test script for Organization Authentication functionality * This script tests the new organization authentication features: * 1. Get organization login URL * 2. Process third-party authentication callback * 3. Login with organization reauthentication check */ const { container } = require('./dist/Application/Services/DIContainer.js'); async function testOrganizationAuth() { console.log('🧪 Testing Organization Authentication Functionality\n'); try { // Test 1: Get Organization Login URL console.log('1ļøāƒ£ Testing Get Organization Login URL Query Handler'); const getUrlHandler = container.getOrganizationLoginUrlQueryHandler; console.log('āœ… Handler instantiated successfully'); // Test 2: Process Organization Auth Callback console.log('2ļøāƒ£ Testing Process Organization Auth Callback Command Handler'); const callbackHandler = container.processOrgAuthCallbackCommandHandler; console.log('āœ… Handler instantiated successfully'); // Test 3: Enhanced Login Handler with Organization Repository console.log('3ļøāƒ£ Testing Enhanced Login Handler'); const loginHandler = container.loginCommandHandler; console.log('āœ… Enhanced login handler instantiated successfully'); console.log('\nšŸŽ‰ All Organization Authentication components initialized successfully!'); console.log('\nšŸ“‹ Summary of new functionality:'); console.log(' • GET /api/organizations/:orgId/login-url - Get organization third-party login URL'); console.log(' • POST /api/organizations/auth-callback - Process third-party authentication result'); console.log(' • Enhanced login response includes organization reauthentication requirements'); console.log(' • Users must reauthenticate with organization if last login > 1 month ago'); } catch (error) { console.error('āŒ Error testing organization authentication:', error.message); process.exit(1); } } // Run the test testOrganizationAuth();