52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
import { GlFilteredSearchToken, GlFilteredSearchSuggestion } from '@gitlab/ui';
 | 
						|
import { shallowMount } from '@vue/test-utils';
 | 
						|
import { PIPELINE_SOURCES } from 'ee_else_ce/pipelines/components/pipelines_list/tokens/constants';
 | 
						|
import { stubComponent } from 'helpers/stub_component';
 | 
						|
import PipelineSourceToken from '~/pipelines/components/pipelines_list/tokens/pipeline_source_token.vue';
 | 
						|
 | 
						|
describe('Pipeline Source Token', () => {
 | 
						|
  let wrapper;
 | 
						|
 | 
						|
  const findFilteredSearchToken = () => wrapper.find(GlFilteredSearchToken);
 | 
						|
  const findAllFilteredSearchSuggestions = () => wrapper.findAll(GlFilteredSearchSuggestion);
 | 
						|
 | 
						|
  const defaultProps = {
 | 
						|
    config: {
 | 
						|
      type: 'source',
 | 
						|
      icon: 'trigger-source',
 | 
						|
      title: 'Source',
 | 
						|
      unique: true,
 | 
						|
    },
 | 
						|
    value: {
 | 
						|
      data: '',
 | 
						|
    },
 | 
						|
  };
 | 
						|
 | 
						|
  const createComponent = () => {
 | 
						|
    wrapper = shallowMount(PipelineSourceToken, {
 | 
						|
      propsData: {
 | 
						|
        ...defaultProps,
 | 
						|
      },
 | 
						|
      stubs: {
 | 
						|
        GlFilteredSearchToken: stubComponent(GlFilteredSearchToken, {
 | 
						|
          template: `<div><slot name="suggestions"></slot></div>`,
 | 
						|
        }),
 | 
						|
      },
 | 
						|
    });
 | 
						|
  };
 | 
						|
 | 
						|
  beforeEach(() => {
 | 
						|
    createComponent();
 | 
						|
  });
 | 
						|
 | 
						|
  it('passes config correctly', () => {
 | 
						|
    expect(findFilteredSearchToken().props('config')).toEqual(defaultProps.config);
 | 
						|
  });
 | 
						|
 | 
						|
  describe('shows sources correctly', () => {
 | 
						|
    it('renders all pipeline sources available', () => {
 | 
						|
      expect(findAllFilteredSearchSuggestions()).toHaveLength(PIPELINE_SOURCES.length);
 | 
						|
    });
 | 
						|
  });
 | 
						|
});
 |