diff options
Diffstat (limited to 'web-ui/test/spec/tags/ui/tag_shortcut.spec.js')
-rw-r--r-- | web-ui/test/spec/tags/ui/tag_shortcut.spec.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/web-ui/test/spec/tags/ui/tag_shortcut.spec.js b/web-ui/test/spec/tags/ui/tag_shortcut.spec.js new file mode 100644 index 00000000..7df35631 --- /dev/null +++ b/web-ui/test/spec/tags/ui/tag_shortcut.spec.js @@ -0,0 +1,35 @@ +describeComponent("tags/ui/tag_shortcut", function () { + + var parent, shortcut, component, TagShortcut; + + beforeEach(function () { + TagShortcut = require('tags/ui/tag_shortcut'); + + component = jasmine.createSpyObj('tagComponent', ['triggerSelect']); + parent = $("<ul>"); + shortcut = TagShortcut.appendedTo(parent, { linkTo: { name: 'inbox', counts: { total: 15 }}, trigger: component }); + }); + + it('renders the shortcut inside the parent', function () { + expect(parent.html()).toMatch('<a title="inbox">'); + expect(parent.html()).toMatch('<i class="fa fa-inbox"></i>'); + expect(parent.html()).toMatch('<div class="shortcut-label">inbox</div>'); + }); + + it('selects and unselect on tag.select', function () { + $(document).trigger(Smail.events.ui.tag.select, { tag: 'inbox'}); + + expect(shortcut.$node).toHaveClass("selected"); + + $(document).trigger(Smail.events.ui.tag.select, { tag: 'sent'}); + + expect(shortcut.$node).not.toHaveClass("selected"); + }); + + it('delegates the click to linked tag', function (){ + shortcut.$node.click(); + + expect(component.triggerSelect).toHaveBeenCalled(); + }); + +}); |