summaryrefslogtreecommitdiff
path: root/spec/javascripts/awards_handler_spec.js.coffee
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2016-08-09 12:27:37 +0200
committerJacob Vosmaer <jacob@gitlab.com>2016-08-09 12:27:37 +0200
commit7a99826694ccc9dc5fd5f8cbecf7b51f8d690de4 (patch)
treee58828158e6a818e82a0a7cda95b642998233d77 /spec/javascripts/awards_handler_spec.js.coffee
parent71952d057d5edad0697d7da76f5da034689e0f4a (diff)
parent551ffc0a4d25a381e9f8f6a8d6f2793bb87f3145 (diff)
downloadgitlab-ce-7a99826694ccc9dc5fd5f8cbecf7b51f8d690de4.tar.gz
Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into remove-grack-lfs
Diffstat (limited to 'spec/javascripts/awards_handler_spec.js.coffee')
-rw-r--r--spec/javascripts/awards_handler_spec.js.coffee200
1 files changed, 0 insertions, 200 deletions
diff --git a/spec/javascripts/awards_handler_spec.js.coffee b/spec/javascripts/awards_handler_spec.js.coffee
deleted file mode 100644
index d7f9c6fc076..00000000000
--- a/spec/javascripts/awards_handler_spec.js.coffee
+++ /dev/null
@@ -1,200 +0,0 @@
-#= require awards_handler
-#= require jquery
-#= require jquery.cookie
-#= require ./fixtures/emoji_menu
-
-awardsHandler = null
-window.gl or= {}
-window.gon or= {}
-gl.emojiAliases = -> return { '+1': 'thumbsup', '-1': 'thumbsdown' }
-gon.award_menu_url = '/emojis'
-
-
-lazyAssert = (done, assertFn) ->
-
- setTimeout -> # Maybe jasmine.clock here?
- assertFn()
- done()
- , 333
-
-
-describe 'AwardsHandler', ->
-
- fixture.preload 'awards_handler.html'
-
- beforeEach ->
- fixture.load 'awards_handler.html'
- awardsHandler = new AwardsHandler
- spyOn(awardsHandler, 'postEmoji').and.callFake (url, emoji, cb) => cb()
- spyOn(jQuery, 'get').and.callFake (req, cb) -> cb window.emojiMenu
-
-
- describe '::showEmojiMenu', ->
-
- it 'should show emoji menu when Add emoji button clicked', (done) ->
-
- $('.js-add-award').eq(0).click()
-
- lazyAssert done, ->
- $emojiMenu = $ '.emoji-menu'
- expect($emojiMenu.length).toBe 1
- expect($emojiMenu.hasClass('is-visible')).toBe yes
- expect($emojiMenu.find('#emoji_search').length).toBe 1
- expect($('.js-awards-block.current').length).toBe 1
-
-
- it 'should also show emoji menu for the smiley icon in notes', (done) ->
-
- $('.note-action-button').click()
-
- lazyAssert done, ->
- $emojiMenu = $ '.emoji-menu'
- expect($emojiMenu.length).toBe 1
-
-
- it 'should remove emoji menu when body is clicked', (done) ->
-
- $('.js-add-award').eq(0).click()
-
- lazyAssert done, ->
- $emojiMenu = $('.emoji-menu')
- $('body').click()
- expect($emojiMenu.length).toBe 1
- expect($emojiMenu.hasClass('is-visible')).toBe no
- expect($('.js-awards-block.current').length).toBe 0
-
-
- describe '::addAwardToEmojiBar', ->
-
- it 'should add emoji to votes block', ->
-
- $votesBlock = $('.js-awards-block').eq 0
- awardsHandler.addAwardToEmojiBar $votesBlock, 'heart', no
-
- $emojiButton = $votesBlock.find '[data-emoji=heart]'
-
- expect($emojiButton.length).toBe 1
- expect($emojiButton.next('.js-counter').text()).toBe '1'
- expect($votesBlock.hasClass('hidden')).toBe no
-
-
- it 'should remove the emoji when we click again', ->
-
- $votesBlock = $('.js-awards-block').eq 0
- awardsHandler.addAwardToEmojiBar $votesBlock, 'heart', no
- awardsHandler.addAwardToEmojiBar $votesBlock, 'heart', no
- $emojiButton = $votesBlock.find '[data-emoji=heart]'
-
- expect($emojiButton.length).toBe 0
-
-
- it 'should decrement the emoji counter', ->
-
- $votesBlock = $('.js-awards-block').eq 0
- awardsHandler.addAwardToEmojiBar $votesBlock, 'heart', no
-
- $emojiButton = $votesBlock.find '[data-emoji=heart]'
- $emojiButton.next('.js-counter').text 5
-
- awardsHandler.addAwardToEmojiBar $votesBlock, 'heart', no
-
- expect($emojiButton.length).toBe 1
- expect($emojiButton.next('.js-counter').text()).toBe '4'
-
-
- describe '::getAwardUrl', ->
-
- it 'should return the url for request', ->
-
- expect(awardsHandler.getAwardUrl()).toBe '/gitlab-org/gitlab-test/issues/8/toggle_award_emoji'
-
-
- describe '::addAward and ::checkMutuality', ->
-
- it 'should handle :+1: and :-1: mutuality', ->
-
- awardUrl = awardsHandler.getAwardUrl()
- $votesBlock = $('.js-awards-block').eq 0
- $thumbsUpEmoji = $votesBlock.find('[data-emoji=thumbsup]').parent()
- $thumbsDownEmoji = $votesBlock.find('[data-emoji=thumbsdown]').parent()
-
- awardsHandler.addAward $votesBlock, awardUrl, 'thumbsup', no
-
- expect($thumbsUpEmoji.hasClass('active')).toBe yes
- expect($thumbsDownEmoji.hasClass('active')).toBe no
-
- $thumbsUpEmoji.tooltip()
- $thumbsDownEmoji.tooltip()
-
- awardsHandler.addAward $votesBlock, awardUrl, 'thumbsdown', yes
-
- expect($thumbsUpEmoji.hasClass('active')).toBe no
- expect($thumbsDownEmoji.hasClass('active')).toBe yes
-
-
- describe '::removeEmoji', ->
-
- it 'should remove emoji', ->
-
- awardUrl = awardsHandler.getAwardUrl()
- $votesBlock = $('.js-awards-block').eq 0
-
- awardsHandler.addAward $votesBlock, awardUrl, 'fire', no
- expect($votesBlock.find('[data-emoji=fire]').length).toBe 1
-
- awardsHandler.removeEmoji $votesBlock.find('[data-emoji=fire]').closest('button')
- expect($votesBlock.find('[data-emoji=fire]').length).toBe 0
-
-
- describe 'search', ->
-
- it 'should filter the emoji', ->
-
- $('.js-add-award').eq(0).click()
-
- expect($('[data-emoji=angel]').is(':visible')).toBe yes
- expect($('[data-emoji=anger]').is(':visible')).toBe yes
-
- $('#emoji_search').val('ali').trigger 'keyup'
-
- expect($('[data-emoji=angel]').is(':visible')).toBe no
- expect($('[data-emoji=anger]').is(':visible')).toBe no
- expect($('[data-emoji=alien]').is(':visible')).toBe yes
-
-
- describe 'emoji menu', ->
-
- selector = '[data-emoji=sunglasses]'
-
- openEmojiMenuAndAddEmoji = ->
-
- $('.js-add-award').eq(0).click()
-
- $menu = $ '.emoji-menu'
- $block = $ '.js-awards-block'
- $emoji = $menu.find ".emoji-menu-list-item #{selector}"
-
- expect($emoji.length).toBe 1
- expect($block.find(selector).length).toBe 0
-
- $emoji.click()
-
- expect($menu.hasClass('.is-visible')).toBe no
- expect($block.find(selector).length).toBe 1
-
-
- it 'should add selected emoji to awards block', ->
-
- openEmojiMenuAndAddEmoji()
-
-
- it 'should remove already selected emoji', ->
-
- openEmojiMenuAndAddEmoji()
- $('.js-add-award').eq(0).click()
-
- $block = $ '.js-awards-block'
- $emoji = $('.emoji-menu').find ".emoji-menu-list-item #{selector}"
-
- $emoji.click()
- expect($block.find(selector).length).toBe 0