From 5cef4e12c40e1c662c142a569e2412936e026853 Mon Sep 17 00:00:00 2001 From: himetani_cafe Date: Sat, 23 Jan 2016 19:24:49 +0900 Subject: [PATCH] =?utf8?q?checkFile,=20checkDirectory=E3=82=92existFile,ex?= =?utf8?q?istDirectory=E3=81=AB=E6=9B=B8=E3=81=8D=E7=9B=B4=E3=81=99?= =?utf8?q?=E5=89=8D=E3=81=AE=E9=80=80=E9=81=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- server/class/DB.js | 33 ++++++++++++++++++++++++++++----- test/mocha/DB.test.js | 42 +++++++++++++++++++++++++++++++++++------- 2 files changed, 63 insertions(+), 12 deletions(-) diff --git a/server/class/DB.js b/server/class/DB.js index 67f5a0a..06e3558 100644 --- a/server/class/DB.js +++ b/server/class/DB.js @@ -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} diff --git a/test/mocha/DB.test.js b/test/mocha/DB.test.js index af4dbf0..d174f49 100644 --- a/test/mocha/DB.test.js +++ b/test/mocha/DB.test.js @@ -115,18 +115,46 @@ }) }); - /* - 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'); + }); + + }); }); })(); -- 2.11.0