summaryrefslogtreecommitdiff
path: root/web-ui/test/spec/services/delete_service.spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'web-ui/test/spec/services/delete_service.spec.js')
-rw-r--r--web-ui/test/spec/services/delete_service.spec.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/web-ui/test/spec/services/delete_service.spec.js b/web-ui/test/spec/services/delete_service.spec.js
new file mode 100644
index 00000000..3e098877
--- /dev/null
+++ b/web-ui/test/spec/services/delete_service.spec.js
@@ -0,0 +1,54 @@
+/*global jasmine */
+/*global Smail */
+
+describeComponent('services/delete_service', function () {
+ 'use strict';
+
+ var i18n;
+
+ beforeEach( function () {
+ setupComponent();
+ i18n = require('views/i18n');
+ });
+
+ var mailWithoutTrashTag = {
+ ident: 42,
+ isInTrash: function() { return false; },
+ tags: ['inbox', 'test']
+ };
+
+ var mailWithTrashTag = {
+ ident: 34,
+ isInTrash: function() { return true; },
+ tags: ['inbox', 'test', 'trash']
+ };
+
+ it('add Trash tag when deleting an email that does not have it', function () {
+ var mailDeleteEvent = spyOnEvent(document, Smail.events.mail.delete);
+ var openNoMessageSelectedEvent = spyOnEvent(document, Smail.events.dispatchers.rightPane.openNoMessageSelected);
+
+ this.component.trigger(document, Smail.events.ui.mail.delete, {mail: mailWithoutTrashTag});
+
+ var expectedDeleteEventData = {
+ mail: mailWithoutTrashTag,
+ successMessage: i18n('Your message was moved to trash!')
+ };
+
+ expect(mailDeleteEvent).toHaveBeenTriggeredOnAndWith(document, expectedDeleteEventData);
+ });
+
+ it('removes permanently email that has Trash tag', function(){
+ var mailDeleteEvent = spyOnEvent(document, Smail.events.mail.delete);
+ var openNoMessageSelectedEvent = spyOnEvent(document, Smail.events.dispatchers.rightPane.openNoMessageSelected);
+
+ this.component.trigger(document, Smail.events.ui.mail.delete, {mail: mailWithTrashTag});
+
+ var expectedDeleteEventData = {
+ mail: mailWithTrashTag,
+ successMessage: i18n('Your message was permanently deleted!')
+ };
+
+ expect(mailDeleteEvent).toHaveBeenTriggeredOnAndWith(document, expectedDeleteEventData );
+ });
+
+});