   publish: =>
     # Wait up to 3min for publish to complete
     @el.publishButton.get().click()
-    Calendar.verify(@test, 3 * 60 * 1000)
+    # wait for
+    @test.driver.wait =>
+      @el.pendingPublishButton.isPresent().then (isPresent) -> not isPresent
+    , (3 * 60 * 1000)
 
   save: =>
     @el.saveButton.get().click()

  #   action: 'PUBLISH', 'SAVE', 'DELETE', 'CANCEL', 'X_BUTTON'
  edit: ({name, description, opensAt, dueAt, sections, action, verifyAddReadingsDisabled}) ->
    # Just confirm the plan is actually open
    @waitUntilLoaded()
    @setName(name) if name
    @setDate({opensAt, dueAt})


    css: '.dialog:not(.hide) .async-button.-save'
  publishButton:
    css: '.dialog:not(.hide) .async-button.-publish'
  pendingPublishButton:
    css: '.dialog:not(.hide) .async-button.-publish.is-waiting'
  cancelButton:
    css: '.dialog:not(.hide) .panel-footer [aria-role="close"]'

