Przeglądaj źródła

impl deleteCompletely test

itizawa 5 lat temu
rodzic
commit
5d13c2be7e
2 zmienionych plików z 30 dodań i 8 usunięć
  1. 4 6
      src/server/service/page.js
  2. 26 2
      src/test/service/page.test.js

+ 4 - 6
src/server/service/page.js

@@ -526,9 +526,8 @@ class PageService {
 
     await this.deleteCompletelyOperation(ids, paths);
 
-    if (socketClientId != null) {
-      this.pageEvent.emit('deleteCompletely', pages, user, socketClientId); // update as renamed page
-    }
+    this.pageEvent.emit('deleteCompletely', pages, user, socketClientId); // update as renamed page
+
     return;
   }
 
@@ -545,9 +544,8 @@ class PageService {
       this.deleteCompletelyDescendantsWithStream(page, user, options);
     }
 
-    if (socketClientId != null) {
-      this.pageEvent.emit('delete', page, user, socketClientId); // update as renamed page
-    }
+    this.pageEvent.emit('delete', page, user, socketClientId); // update as renamed page
+
     return;
   }
 

+ 26 - 2
src/test/service/page.test.js

@@ -478,6 +478,11 @@ describe('PageService', () => {
   });
 
   describe('delete page completely', () => {
+    let pageEventSpy;
+    let deleteCompletelyOperationSpy;
+    let deleteCompletelyDescendantsWithStreamSpy;
+    const socketClientId = null;
+
     let deleteManyBookmarkSpy;
     let deleteManyCommentSpy;
     let deleteManyPageTagRelationSpy;
@@ -487,6 +492,10 @@ describe('PageService', () => {
     let removeAllAttachmentsSpy;
 
     beforeEach(async(done) => {
+      pageEventSpy = jest.spyOn(crowi.pageService.pageEvent, 'emit');
+      deleteCompletelyOperationSpy = jest.spyOn(crowi.pageService, 'deleteCompletelyOperation');
+      deleteCompletelyDescendantsWithStreamSpy = jest.spyOn(crowi.pageService, 'deleteCompletelyDescendantsWithStream').mockImplementation();
+
       deleteManyBookmarkSpy = jest.spyOn(Bookmark, 'deleteMany').mockImplementation();
       deleteManyCommentSpy = jest.spyOn(Comment, 'deleteMany').mockImplementation();
       deleteManyPageTagRelationSpy = jest.spyOn(PageTagRelation, 'deleteMany').mockImplementation();
@@ -512,8 +521,23 @@ describe('PageService', () => {
       expect(removeAllAttachmentsSpy).toHaveBeenCalled();
     });
 
-    test('deleteMultipleCompletely()', () => {
-      expect(3).toBe(3);
+    test('delete completely without options', async() => {
+      await crowi.pageService.deleteCompletely(parentForDeleteCompletely, testUser2, { });
+
+      expect(deleteCompletelyOperationSpy).toHaveBeenCalled();
+      expect(deleteCompletelyDescendantsWithStreamSpy).not.toHaveBeenCalled();
+
+      expect(pageEventSpy).toHaveBeenCalledWith('delete', parentForDeleteCompletely, testUser2, socketClientId);
+    });
+
+
+    test('delete completely with isRecursively', async() => {
+      await crowi.pageService.deleteCompletely(parentForDeleteCompletely, testUser2, { }, true);
+
+      expect(deleteCompletelyOperationSpy).toHaveBeenCalled();
+      expect(deleteCompletelyDescendantsWithStreamSpy).toHaveBeenCalled();
+
+      expect(pageEventSpy).toHaveBeenCalledWith('delete', parentForDeleteCompletely, testUser2, socketClientId);
     });
   });