You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
/* global $, Whisper */
 | 
						|
 | 
						|
describe('ConversationSearchView', () => {
 | 
						|
  describe('Searching for left groups', () => {
 | 
						|
    let convo;
 | 
						|
 | 
						|
    before(() => {
 | 
						|
      convo = new Whisper.ConversationCollection().add({
 | 
						|
        id: '1-search-view',
 | 
						|
        name: 'i left this group',
 | 
						|
        members: [],
 | 
						|
        type: 'group',
 | 
						|
        left: true,
 | 
						|
      });
 | 
						|
 | 
						|
      return window.Signal.Data.saveConversation(convo.attributes, {
 | 
						|
        Conversation: Whisper.Conversation,
 | 
						|
      });
 | 
						|
    });
 | 
						|
    describe('with no messages', () => {
 | 
						|
      let input;
 | 
						|
      let view;
 | 
						|
 | 
						|
      before(done => {
 | 
						|
        input = $('<input>');
 | 
						|
        view = new Whisper.ConversationSearchView({ input }).render();
 | 
						|
        view.$input.val('left');
 | 
						|
        view.filterContacts();
 | 
						|
        view.typeahead_view.collection.on('reset', () => {
 | 
						|
          done();
 | 
						|
        });
 | 
						|
      });
 | 
						|
      it('should not surface left groups with no messages', () => {
 | 
						|
        assert.isUndefined(
 | 
						|
          view.typeahead_view.collection.get(convo.id),
 | 
						|
          'got left group'
 | 
						|
        );
 | 
						|
      });
 | 
						|
    });
 | 
						|
    describe('with messages', () => {
 | 
						|
      let input;
 | 
						|
      let view;
 | 
						|
      before(async () => {
 | 
						|
        input = $('<input>');
 | 
						|
        view = new Whisper.ConversationSearchView({ input }).render();
 | 
						|
        convo.set({ id: '2-search-view', left: false });
 | 
						|
 | 
						|
        await window.Signal.Data.saveConversation(convo.attributes, {
 | 
						|
          Conversation: Whisper.Conversation,
 | 
						|
        });
 | 
						|
 | 
						|
        view.$input.val('left');
 | 
						|
        view.filterContacts();
 | 
						|
 | 
						|
        return new Promise(resolve => {
 | 
						|
          view.typeahead_view.collection.on('reset', resolve);
 | 
						|
        });
 | 
						|
      });
 | 
						|
      it('should surface left groups with messages', () => {
 | 
						|
        assert.isDefined(
 | 
						|
          view.typeahead_view.collection.get(convo.id),
 | 
						|
          'got left group'
 | 
						|
        );
 | 
						|
      });
 | 
						|
    });
 | 
						|
  });
 | 
						|
});
 |