2016-02-02 09:31:27 +08:00
|
|
|
# TODO
|
2015-10-22 01:38:00 +08:00
|
|
|
# Account = require '../../src/flux/models/account'
|
|
|
|
# CategoryStore = require '../../src/flux/stores/category-store'
|
|
|
|
# RemoveThreadHelper = require '../../src/services/remove-thread-helper'
|
|
|
|
#
|
|
|
|
# ChangeFolderTask = require '../../src/flux/tasks/change-folder-task'
|
|
|
|
# ChangeLabelsTask = require '../../src/flux/tasks/change-labels-task'
|
|
|
|
#
|
|
|
|
# describe "RemoveThreadHelper", ->
|
|
|
|
# describe "removeType", ->
|
|
|
|
# it "returns null if there's no current account", ->
|
|
|
|
# spyOn(RemoveThreadHelper, "_currentAccount").andReturn null
|
|
|
|
# expect(RemoveThreadHelper.removeType()).toBe null
|
|
|
|
#
|
|
|
|
# it "returns the type if it's saved", ->
|
2015-11-12 02:25:11 +08:00
|
|
|
# spyOn(NylasEnv.config, "get").andReturn "trash"
|
2015-10-22 01:38:00 +08:00
|
|
|
# expect(RemoveThreadHelper.removeType()).toBe "trash"
|
|
|
|
#
|
|
|
|
# it "returns the archive category if it exists", ->
|
|
|
|
# spyOn(CategoryStore, "getStandardCategory").andReturn {name: "archive"}
|
|
|
|
# expect(RemoveThreadHelper.removeType()).toBe "archive"
|
|
|
|
#
|
|
|
|
# it "defaults to archive for Gmail", ->
|
|
|
|
# spyOn(RemoveThreadHelper, "_currentAccount").andReturn provider: "gmail"
|
|
|
|
# expect(RemoveThreadHelper.removeType()).toBe "archive"
|
|
|
|
#
|
|
|
|
# it "defaults to trash for everything else", ->
|
|
|
|
# spyOn(RemoveThreadHelper, "_currentAccount").andReturn provider: "eas"
|
|
|
|
# expect(RemoveThreadHelper.removeType()).toBe "trash"
|
|
|
|
#
|
|
|
|
# describe "getRemovalTask", ->
|
|
|
|
# beforeEach ->
|
|
|
|
# spyOn(CategoryStore, "byId").andReturn({id: "inbox-id", name: "inbox"})
|
2016-01-09 06:58:31 +08:00
|
|
|
# @mailboxPerspectiveStub = categoryId: -> "inbox-id"
|
2015-10-22 01:38:00 +08:00
|
|
|
# @categories = []
|
|
|
|
#
|
|
|
|
# spyOn(CategoryStore, "getStandardCategory").andCallFake (cat) =>
|
|
|
|
# if cat in @categories
|
|
|
|
# return {id: "cat-id", name: cat}
|
|
|
|
# else return null
|
|
|
|
#
|
|
|
|
# afterEach ->
|
2015-11-12 02:25:11 +08:00
|
|
|
# NylasEnv.testOrganizationUnit = null
|
2015-10-22 01:38:00 +08:00
|
|
|
#
|
|
|
|
# it "returns null if there's no current account", ->
|
|
|
|
# spyOn(RemoveThreadHelper, "_currentAccount").andReturn null
|
|
|
|
# expect(RemoveThreadHelper.getRemovalTask()).toBe null
|
|
|
|
#
|
|
|
|
# it "creates the task when using labels and trashing", ->
|
2015-11-12 02:25:11 +08:00
|
|
|
# NylasEnv.testOrganizationUnit = "label"
|
2015-10-22 01:38:00 +08:00
|
|
|
# spyOn(RemoveThreadHelper, "_currentAccount").andReturn new Account
|
|
|
|
# provider: "eas"
|
|
|
|
# organizationUnit: "label"
|
|
|
|
# @categories = ["all", "trash"]
|
2016-01-09 06:58:31 +08:00
|
|
|
# t = RemoveThreadHelper.getRemovalTask([], @mailboxPerspectiveStub)
|
2015-10-22 01:38:00 +08:00
|
|
|
# expect(t instanceof ChangeLabelsTask).toBe true
|
|
|
|
# expect(t.labelsToRemove[0].name).toBe "inbox"
|
|
|
|
# expect(t.labelsToAdd[0].name).toBe "trash"
|
|
|
|
#
|
|
|
|
# it "creates the task when using labels and archiving", ->
|
|
|
|
# @categories = ["all", "archive", "trash"]
|
2015-11-12 02:25:11 +08:00
|
|
|
# NylasEnv.testOrganizationUnit = "label"
|
2015-10-22 01:38:00 +08:00
|
|
|
# spyOn(RemoveThreadHelper, "_currentAccount").andReturn new Account
|
|
|
|
# provider: "gmail"
|
|
|
|
# organizationUnit: "label"
|
2016-01-09 06:58:31 +08:00
|
|
|
# t = RemoveThreadHelper.getRemovalTask([], @mailboxPerspectiveStub)
|
2015-10-22 01:38:00 +08:00
|
|
|
# expect(t instanceof ChangeLabelsTask).toBe true
|
|
|
|
# expect(t.labelsToRemove[0].name).toBe "inbox"
|
|
|
|
# expect(t.labelsToAdd[0].name).toBe "all"
|
|
|
|
#
|
|
|
|
# it "creates the task when using folders and trashing", ->
|
|
|
|
# @categories = ["all", "trash"]
|
2015-11-12 02:25:11 +08:00
|
|
|
# NylasEnv.testOrganizationUnit = "folder"
|
2015-10-22 01:38:00 +08:00
|
|
|
# spyOn(RemoveThreadHelper, "_currentAccount").andReturn new Account
|
|
|
|
# provider: "eas"
|
|
|
|
# organizationUnit: "folder"
|
2016-01-09 06:58:31 +08:00
|
|
|
# t = RemoveThreadHelper.getRemovalTask([], @mailboxPerspectiveStub)
|
2015-10-22 01:38:00 +08:00
|
|
|
# expect(t instanceof ChangeFolderTask).toBe true
|
|
|
|
# expect(t.folder.name).toBe "trash"
|
|
|
|
#
|
|
|
|
# it "creates the task when using folders and archiving", ->
|
|
|
|
# @categories = ["all", "archive", "trash"]
|
2015-11-12 02:25:11 +08:00
|
|
|
# NylasEnv.testOrganizationUnit = "folder"
|
2015-10-22 01:38:00 +08:00
|
|
|
# spyOn(RemoveThreadHelper, "_currentAccount").andReturn new Account
|
|
|
|
# provider: "gmail"
|
|
|
|
# organizationUnit: "folder"
|
2016-01-09 06:58:31 +08:00
|
|
|
# t = RemoveThreadHelper.getRemovalTask([], @mailboxPerspectiveStub)
|
2015-10-22 01:38:00 +08:00
|
|
|
# expect(t instanceof ChangeFolderTask).toBe true
|
|
|
|
# expect(t.folder.name).toBe "archive"
|