www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit eb89b4ed129d3475d61e24d0f808ddde2d7419e9
parent 50b46bdb197904bd6756886770d1775b329b862e
Author: Dan Stillman <dstillman@zotero.org>
Date:   Fri,  8 Jan 2016 03:31:43 -0500

Test for DB integrity check

Diffstat:
Atest/tests/schemaTest.js | 22++++++++++++++++++++++
1 file changed, 22 insertions(+), 0 deletions(-)

diff --git a/test/tests/schemaTest.js b/test/tests/schemaTest.js @@ -0,0 +1,22 @@ +describe("Zotero.Schema", function() { + describe("#integrityCheck()", function () { + before(function* () { + yield resetDB({ + thisArg: this, + skipBundledFiles: true + }); + }) + + it("should repair a foreign key violation", function* () { + yield assert.eventually.isTrue(Zotero.Schema.integrityCheck()); + + yield Zotero.DB.queryAsync("PRAGMA foreign_keys = OFF"); + yield Zotero.DB.queryAsync("INSERT INTO itemTags VALUES (1234,1234,0)"); + yield Zotero.DB.queryAsync("PRAGMA foreign_keys = ON"); + + yield assert.eventually.isFalse(Zotero.Schema.integrityCheck()); + yield assert.eventually.isTrue(Zotero.Schema.integrityCheck(true)); + yield assert.eventually.isTrue(Zotero.Schema.integrityCheck()); + }) + }) +})