diff --git a/app/resources/js/components/deals/DealsBulkBar.vue b/app/resources/js/components/deals/DealsBulkBar.vue index 35a0a871..bec5b345 100644 --- a/app/resources/js/components/deals/DealsBulkBar.vue +++ b/app/resources/js/components/deals/DealsBulkBar.vue @@ -1,20 +1,13 @@ @@ -39,73 +29,38 @@ defineEmits<{ data-testid="bulk-bar" >
- - Выбрано {{ selectedCount }} - + Выбрано {{ selectedCount }} - - - Восстановить - - + + + + + {{ s.nameRu }} + + + { + it('скрыт при selectedCount=0', () => { + const w = mount(DealsBulkBar, { + props: { selectedCount: 0, statusMenuOpen: false, leadStatuses }, + global: { plugins: [vuetify] }, + }); + expect(w.find('[data-testid="bulk-bar"]').exists()).toBe(false); + }); + + it('виден при selectedCount>0 и показывает количество', () => { + const w = mount(DealsBulkBar, { + props: { selectedCount: 3, statusMenuOpen: false, leadStatuses }, + global: { plugins: [vuetify] }, + }); + const bar = w.find('[data-testid="bulk-bar"]'); + expect(bar.exists()).toBe(true); + expect(bar.text()).toContain('3'); + }); + + it('НЕ содержит кнопок Экспорт/Удалить', () => { + const w = mount(DealsBulkBar, { + props: { selectedCount: 2, statusMenuOpen: false, leadStatuses }, + global: { plugins: [vuetify] }, + }); + expect(w.find('[data-testid="bulk-export-btn"]').exists()).toBe(false); + expect(w.find('[data-testid="bulk-delete-btn"]').exists()).toBe(false); + }); + + it('✕ эмитит clear-selected', async () => { + const w = mount(DealsBulkBar, { + props: { selectedCount: 2, statusMenuOpen: false, leadStatuses }, + global: { plugins: [vuetify] }, + }); + await w.find('[data-testid="bulk-clear-btn"]').trigger('click'); + expect(w.emitted('clear-selected')).toBeTruthy(); + }); +});