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:
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());
+ })
+ })
+})