summaryrefslogtreecommitdiff
path: root/web-ui/test/spec/mail_list/ui/mail_items/mail_item.spec.js
blob: 5c965b71e1db1548fcbac3ddc020f22250365098 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/*global Pixelated */

describeMixin('mail_list/ui/mail_items/mail_item', function () {
  'use strict';

  beforeEach(function () {
    var mail = Pixelated.testData().parsedMail.simpleTextPlain;
    mail.tags = ['inbox'];

    this.setupComponent('<li><input type="checkbox"></input></li>', {
      mail: mail,
      selected: false,
      tag: 'inbox'
    });
  });

  describe('mail checkbox', function () {
    var mailCheckedEvent, mailUncheckedEvent, checkbox;
    beforeEach(function () {
      mailCheckedEvent = spyOnEvent(document, Pixelated.events.ui.mail.checked);
      mailUncheckedEvent = spyOnEvent(document, Pixelated.events.ui.mail.unchecked);
      checkbox = this.component.$node.find('input[type=checkbox]');
    });

    it('checkCheckbox checks it and triggers events.ui.mail.checked', function () {
      this.component.checkCheckbox();

      expect(checkbox.prop('checked')).toBe(true);
      expect(mailCheckedEvent).toHaveBeenTriggeredOn(document);
    });

    it('uncheckCheckbox checks it and triggers events.ui.mail.checked', function () {
      checkbox.prop('checked', true);
      this.component.uncheckCheckbox();

      expect(checkbox.prop('checked')).toBe(false);
      expect(mailUncheckedEvent).toHaveBeenTriggeredOn(document);
    });
  });
});