# Minisuite = require '../lib/minisuite' # # # Use the command `window:run-package-specs` (cmd-alt-ctrl-p) to run specs. # # # # To run a specific `it` or `describe` block add an `f` to the front (e.g. `fit` # # or `fdescribe`). Remove the `f` to unfocus the block. # # describe "Minisuite", -> # [workspaceElement, activationPromise] = [] # # beforeEach -> # workspaceElement = atom.views.getView(atom.workspace) # activationPromise = atom.packages.activatePackage('minisuite') # # describe "when the minisuite:toggle event is triggered", -> # it "hides and shows the modal panel", -> # # Before the activation event the view is not on the DOM, and no panel # # has been created # expect(workspaceElement.querySelector('.minisuite')).not.toExist() # # # This is an activation event, triggering it will cause the package to be # # activated. # atom.commands.dispatch workspaceElement, 'minisuite:toggle' # # waitsForPromise -> # activationPromise # # runs -> # expect(workspaceElement.querySelector('.minisuite')).toExist() # # minisuiteElement = workspaceElement.querySelector('.minisuite') # expect(minisuiteElement).toExist() # # minisuitePanel = atom.workspace.panelForItem(minisuiteElement) # expect(minisuitePanel.isVisible()).toBe true # atom.commands.dispatch workspaceElement, 'minisuite:toggle' # expect(minisuitePanel.isVisible()).toBe false # # it "hides and shows the view", -> # # This test shows you an integration test testing at the view level. # # # Attaching the workspaceElement to the DOM is required to allow the # # `toBeVisible()` matchers to work. Anything testing visibility or focus # # requires that the workspaceElement is on the DOM. Tests that attach the # # workspaceElement to the DOM are generally slower than those off DOM. # jasmine.attachToDOM(workspaceElement) # # expect(workspaceElement.querySelector('.minisuite')).not.toExist() # # # This is an activation event, triggering it causes the package to be # # activated. # atom.commands.dispatch workspaceElement, 'minisuite:toggle' # # waitsForPromise -> # activationPromise # # runs -> # # Now we can test for view visibility # minisuiteElement = workspaceElement.querySelector('.minisuite') # expect(minisuiteElement).toBeVisible() # atom.commands.dispatch workspaceElement, 'minisuite:toggle' # expect(minisuiteElement).not.toBeVisible()