mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 02:57:57 +00:00 
			
		
		
		
	 dd8abe975c
			
		
	
	dd8abe975c
	
	
	
		
			
			# Pull Request Template ## Description This PR will replace the usage of `configMixin` with the `useConfig` composable. **Files updated** 1. dashboard/components/layout/sidebarComponents/SecondaryNavItem.vue 2. dashboard/components/widgets/conversation/MessagesView.vue 3. dashboard/routes/dashboard/settings/inbox/Settings.vue **(Not used)** 4. dashboard/routes/dashboard/settings/inbox/FinishSetup.vue **(Not used)** 5. dashboard/routes/dashboard/settings/inbox/settingsPage/CollaboratorsPage.vue 6. dashboard/routes/dashboard/settings/profile/NotificationPreferences.vue **(Not used)** 7. dashboard/routes/dashboard/settings/profile/AudioNotifications.vue **(Not used)** 8. dashboard/routes/dashboard/settings/sla/Index.vue **(Not used)** 9. dashboard/routes/dashboard/settings/account/Index.vue 10. survey/views/Response.vue **(Not used)** Fixes https://linear.app/chatwoot/issue/CW-3464/rewrite-configmixin-mixin-to-a-composable ## Type of change - [x] New feature (non-breaking change which adds functionality) ## How Has This Been Tested? Test in the component related pages ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [x] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { useConfig } from '../useConfig';
 | |
| 
 | |
| describe('useConfig', () => {
 | |
|   const originalChatwootConfig = window.chatwootConfig;
 | |
| 
 | |
|   beforeEach(() => {
 | |
|     window.chatwootConfig = {
 | |
|       hostURL: 'https://example.com',
 | |
|       vapidPublicKey: 'vapid-key',
 | |
|       enabledLanguages: ['en', 'fr'],
 | |
|       isEnterprise: 'true',
 | |
|       enterprisePlanName: 'enterprise',
 | |
|     };
 | |
|   });
 | |
| 
 | |
|   afterEach(() => {
 | |
|     window.chatwootConfig = originalChatwootConfig;
 | |
|   });
 | |
| 
 | |
|   it('returns the correct configuration values', () => {
 | |
|     const config = useConfig();
 | |
| 
 | |
|     expect(config.hostURL).toBe('https://example.com');
 | |
|     expect(config.vapidPublicKey).toBe('vapid-key');
 | |
|     expect(config.enabledLanguages).toEqual(['en', 'fr']);
 | |
|     expect(config.isEnterprise).toBe(true);
 | |
|     expect(config.enterprisePlanName).toBe('enterprise');
 | |
|   });
 | |
| 
 | |
|   it('handles missing configuration values', () => {
 | |
|     window.chatwootConfig = {};
 | |
|     const config = useConfig();
 | |
| 
 | |
|     expect(config.hostURL).toBeUndefined();
 | |
|     expect(config.vapidPublicKey).toBeUndefined();
 | |
|     expect(config.enabledLanguages).toBeUndefined();
 | |
|     expect(config.isEnterprise).toBe(false);
 | |
|     expect(config.enterprisePlanName).toBeUndefined();
 | |
|   });
 | |
| 
 | |
|   it('handles undefined window.chatwootConfig', () => {
 | |
|     window.chatwootConfig = undefined;
 | |
|     const config = useConfig();
 | |
| 
 | |
|     expect(config.hostURL).toBeUndefined();
 | |
|     expect(config.vapidPublicKey).toBeUndefined();
 | |
|     expect(config.enabledLanguages).toBeUndefined();
 | |
|     expect(config.isEnterprise).toBe(false);
 | |
|     expect(config.enterprisePlanName).toBeUndefined();
 | |
|   });
 | |
| });
 |