OSDN Git Service

checkFile, checkDirectoryをexistFile,existDirectoryに書き直す前の退避用
authorhimetani_cafe <fumifumi@yasunaga-lab.bio.kyutech.ac.jp>
Sat, 23 Jan 2016 10:24:49 +0000 (19:24 +0900)
committerhimetani_cafe <fumifumi@yasunaga-lab.bio.kyutech.ac.jp>
Sat, 23 Jan 2016 10:24:49 +0000 (19:24 +0900)
server/class/DB.js
test/mocha/DB.test.js

index 67f5a0a..06e3558 100644 (file)
@@ -43,9 +43,9 @@ function DB() {
                     checkFile: checkFile,
                     checkDirectory: checkDirectory,
                     createFile: createFile,
-                    test1: test1
+                    test1: test1,
+                    removeFile: removeFile
                     /*
-                       removeFile: removeFile,
                        createDirectory: createDirectory,
                        removeDirectory: removeDirectory,
                        getFilename: getFilename,
@@ -80,8 +80,8 @@ function DB() {
                 }
                 return Files.create(q)
             })
-            .then(function() {
-                resolve();
+            .then(function(r) {
+                resolve(r.dataValues.fileId);
             });
         });
     }
@@ -115,7 +115,7 @@ function DB() {
 
     /**
      * checkDirectory
-     *
+     * ディレクトリが存在するかどうか調べる
      * @param {string} directory
      * @returns {promise} ディレクトリが存在すればresolve、存在しなければreject
      */
@@ -139,6 +139,29 @@ function DB() {
     }
 
     /**
+     * removeFile
+     * ファイルを削除する
+     * @param {string} fileName
+     * @param {string} parentDirectory
+     * @returns {promise} ファイル削除に成功すればresolve、失敗すればreject
+     */
+    function removeFile(fileName, parentDirectory) {
+       return new Promise(function(resolve, reject) {
+           var q = {
+               where: {
+                   name: fileName,
+                   parentDirectory: parentDirectory
+               }
+           };
+
+           Files.destroy(q)
+           .then(function() {
+               resolve();
+           });
+       });
+    }
+
+    /**
      * test1
      * test用にデータベースのレコードを追加する関数
      * @returns {promise}
index af4dbf0..d174f49 100644 (file)
                 })
             });
 
-            /*
-            it('should return object which have proverty "dataValues"', function() {
-               return expect(db.createFile('hage.txt','/')).to.eventually.have.property('dataValues');
-            });
-            */
             it('should be rejected when "parentDirectory" doesn\'t exist', function() {
-               return db.createFile('hoge.txt', 'hoge').should.be.rejectedWith(Error, '"hoge" directory doesn\'t exist.');
+                return db.createFile('hoge.txt', 'hoge').should.be.rejectedWith(Error, '"hoge" directory doesn\'t exist.');
             });
             it('should be rejected when a file has already existed in a directory.', function() {
-               return db.createFile('hoge.txt', '/').should.be.rejectedWith(Error, '"hoge.txt" has already existed in "/" directory.');
+                return db.createFile('hoge.txt', '/').should.be.rejectedWith(Error, '"hoge.txt" has already existed in "/" directory.');
             });
 
         });
+
+
+
+
+        var removeFile = `
+        /**
+        * removeFile
+        * ファイルを削除する
+        * @param {string} fileName
+        * @param {string} parentDirectory
+        * @returns {promise} ファイル削除に成功すればresolve、失敗すればreject
+        */
+        `;
+
+        describe(createFile, function() {
+            var db;
+            before(function() {
+                return DB()
+                .then(function(r) {
+                    db = r;
+                })
+                .then(function() {
+                    return db.test1();
+                })
+                .then(function() {
+                    return db.removeFile('hoge.txt', '/');
+                });
+            });
+            it('should be resolved when removeFile() successed', function() {
+                return db.createFile('hoge.txt', '/').should.eventually.be.a('string');
+            });
+            
+        });
     });
 })();