Mailspring/spec/models/category-spec.coffee
Juan Tejada c118c99d73 fix(sent): Do not allow sent or drafts to be modified
- Specifically, when dragging from the sent perspective, we should not
  allow the sent label to be removed.
- If moved to trash or spam, `all mail` will be correctly removed from
  the thread, but it will keep sent label
- Show sent MailLabel on the threads
2016-03-10 15:44:53 -08:00

63 lines
2.3 KiB
CoffeeScript

{Category, Label} = require 'nylas-exports'
describe 'Category', ->
describe '.categoriesSharedName', ->
it 'returns the name if all the categories on the perspective have the same name', ->
expect(Category.categoriesSharedName([
new Category({name: 'c1', accountId: 'a1'}),
new Category({name: 'c1', accountId: 'a2'}),
])).toEqual('c1')
it 'returns null if there are no categories', ->
expect(Category.categoriesSharedName([])).toEqual(null)
it 'returns null if the categories have different names', ->
expect(Category.categoriesSharedName([
new Category({name: 'c1', accountId: 'a1'}),
new Category({name: 'c2', accountId: 'a2'}),
])).toEqual(null)
describe 'category types', ->
it 'assigns type correctly when it is a user category', ->
cat = new Label
cat.name = undefined
expect(cat.isUserCategory()).toBe true
expect(cat.isStandardCategory()).toBe false
expect(cat.isHiddenCategory()).toBe false
expect(cat.isLockedCategory()).toBe false
it 'assigns type correctly when it is a standard category', ->
cat = new Label
cat.name = 'inbox'
expect(cat.isUserCategory()).toBe false
expect(cat.isStandardCategory()).toBe true
expect(cat.isHiddenCategory()).toBe false
expect(cat.isLockedCategory()).toBe false
it 'assigns type for `important` category when should not show important', ->
cat = new Label
cat.name = 'important'
expect(cat.isUserCategory()).toBe false
expect(cat.isStandardCategory(false)).toBe false
expect(cat.isHiddenCategory()).toBe true
expect(cat.isLockedCategory()).toBe false
it 'assigns type correctly when it is a hidden category', ->
cat = new Label
cat.name = 'archive'
expect(cat.isUserCategory()).toBe false
expect(cat.isStandardCategory()).toBe true
expect(cat.isHiddenCategory()).toBe true
expect(cat.isLockedCategory()).toBe false
it 'assigns type correctly when it is a locked category', ->
cat = new Label
cat.name = 'sent'
expect(cat.isUserCategory()).toBe false
expect(cat.isStandardCategory()).toBe true
expect(cat.isHiddenCategory()).toBe false
expect(cat.isLockedCategory()).toBe true