From 7147f5ef05086ca24cb05bc09387640b98926d54 Mon Sep 17 00:00:00 2001 From: czlonkowski <56956555+czlonkowski@users.noreply.github.com> Date: Mon, 15 Sep 2025 09:13:22 +0200 Subject: [PATCH] fix: integration test database initialization issues - Remove non-existent BetterSqlite3Adapter import - Use createDatabaseAdapter instead of direct instantiation - Initialize database schema in test setup - Fix path imports and duplicate imports --- data/nodes.db | Bin 51064832 -> 51064832 bytes .../templates/metadata-operations.test.ts | 23 +++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/data/nodes.db b/data/nodes.db index 8cd0320dd3a5421c34061b2fd391d2ac73bc9b36..390ecc6dca5e95eabba6dc0f840426e3f424ebcd 100644 GIT binary patch delta 2897 zcmWmDQV&?+qP}nww+ENzCSSMOuxG;WA?+?*ipJ~ z2?$8PAs`^d=74~JPyqpx;*3j^F|hlV{<4BufmVw zB3XY~k*z3JR4bYl-TK>#Va2p!S+T7+R$MEd72ir=CA1P*|5%BwBvw)@nU&m1VWqTE zS*fiwR$A*{E1i|z%3x)*GFh3eELK)4o0Z+lVdb=PS-Gt|R$eQgmES606|@Rjg{>l1 zQLC6$+$v#}v`Sf}tuj_wtDIHds$f;LDp{4SDppminpNGZVb!#1S+%V?R$Z%}MW6as z1FNCc$ZBjgv6@=Vtmak=tEJV-YHhW#+FI?b_Erb0qt(gkY<01^THUPfRu8ME)ywK_ z^|AU|{jC1h0BfK%$g(xq8e$E#hFQa{5!Og+lr`EKV~w@OS>vq<)yUNWI$|BQj#tq0aa>yh=?dSX4bo>|YW7uHMb zmG#->o0kPwSWU+xjz1!A2<<0uhAZ2!W6Yh0q9t zun33nh=7QQguf6OQ4kf;5FLLb24W%>Vj~XXA|B!+0TLn+{y}0SK~f|`a-={?q(W+> zL0bHabV!d3$cRkHj4a5CY{-rr$cbFYjXcPUe8`UiD2PHRj3OwCVknLhD2Y-ijWQ^U zawv}qsEA6aj4G&#YN(DHsEJyrjXJ1{dicM8eKbHrG(uxEK~pqCbF@H9v_fmNL0hy# zdvriYbV6rzL05D`cl1C{^g?g+L0|Mke+FdQQ=5~DC0V=xxuFdh>y z5tA?(Q!o|NFdZ{66SFWIb1)b4FdqxB5R0%FORyBnupBF}605KpYp@pUupS$*5u30X zTd)<|upK+F6T7e*d$1S#upb9-5QlIWM{pF!a2zLa5~pw)XK)tha2^+M5tncoS8x^A za2+>r6Sr_1cW@W?a32rw5RdQ}Pw*7a@EkAj60h(YZ}1lH@E#xV5uflGU+@**@Et$! z6Tk2qe}WBDAp0W_K?sfz2#HV#jW7s{a0rhGh=@q|3y~28Q4tN%@i$^1CSoBr;vg>K zAwCiyArj#qBt{Y>MKUBu3Zz6Tq(&N~#lJ|0^vHmW$b`(uf~?4f?8t$f$c5af~u&7>ZpO5sD;|7gSx1P|NGZR z12jY1WMLV=d2XsUybVe6+MK^Ru5A;MY^hO`_ML+b%01U(+ z7=tkcLop1)F#;no3ZpRwV=)fnF#!`X36n7eQ!x$GF#|I(3$rl?b1@I|u>cFP2#c`< zOR)^gu>vcx3ahaOYq1XNu>l*g37fG6Td@t>u>(7?3%jugd$AAuaR3K#2#0Y5M{x|t zaRMiC3a4=fXK@baaRC=`372sNS8)y3aRWDT3%79xcX1E*@c<9;2#@guPw@=T@d7XL z3a{}7Z}ATA@c|$437_!=U-1p!@dH2c3%~IvaF~MFAAtx$aD+feghFV9LD-;O3Kujt F-GAU}SNi|} delta 2897 zcmWmDQ@>EM8{4*R+qT`Pjcs-M@cn@~X9hl46MG;g#Esf> zNI*d5%>e?QgbE0l@ML28tbsj;43ZVh3bcZ(;8qALq!r2vZH2MITH&nlRs<`e z70HThMX{n<(X8lJ3@fG;%ZhEqvEo|stoT*}E1{LhN^B*ul3K~EqRrIpG`ZKbi& zTIsCxRt77hmC4F%WwEka*{tkV4lAdX%gSx#vGQ8^to&91tDsfLDr^<8idx02;#LW( zq*cl)ZI!XgTIHUU~7mq)Uq|q8g7lSMp~n+(bgDitToOWZ%wc!T9d5F))Z^1HO-oC&9G)# zv#iti#q3>!@|iI&Ph?PFkm|)7Ba5taZ*hZ(Xo1 zT9>TL))nijbQ6lT92&9))VWg^^f(h^~`#1y|7+d zudLVB8|$t0&U$Zsus&L!tk2dL>#Oz6`fmNOep*BM*<{7A|yrCS*nyWJNY)M-JpfF62fYArwXt6h$!#+eFu?d^81zWKV z+pz;Xu?xGg2Yay(`*8pVaR`TT1V?cU$8iEDaSEq#24`^&=WziSaS4}k1y^wm*Kq?k zaSOL`2X}D~_wfLK;~^g5F`nQl{=vU^hUa*Jmw1KOc!Rfihxhn^kNAYo_=2zahVS@+ zpZJB}_!DfT0@)vd2tsg#KuCl_XoNvnghO~lKtx1BWJEz!L_>7MKup9!Y{Wra#6x@} zKtd!!VkALQBtvqfKuV-SYNSD0q(gdSKt^OjW@JHDWJ7l3Ku+XBZsb8;8KuMHBX_P@(ltXz`Kt)tSWmG{`R6}*tKuy#_ZPY37+B~{EKIJju&`| zS9py#c#C&4_=<1%jvx4mU-*qbfg=^f{s=@6f+GY%A{0U+48jKORk)x9 Gnf?RXWLQ=J diff --git a/tests/integration/templates/metadata-operations.test.ts b/tests/integration/templates/metadata-operations.test.ts index 20d76f2..97b47e1 100644 --- a/tests/integration/templates/metadata-operations.test.ts +++ b/tests/integration/templates/metadata-operations.test.ts @@ -3,12 +3,10 @@ import { TemplateService } from '../../../src/templates/template-service'; import { TemplateRepository } from '../../../src/templates/template-repository'; import { MetadataGenerator } from '../../../src/templates/metadata-generator'; import { BatchProcessor } from '../../../src/templates/batch-processor'; -import { DatabaseAdapter } from '../../../src/database/database-adapter'; -import { BetterSqlite3Adapter } from '../../../src/database/adapters/better-sqlite3-adapter'; -import Database from 'better-sqlite3'; +import { DatabaseAdapter, createDatabaseAdapter } from '../../../src/database/database-adapter'; import { tmpdir } from 'os'; -import { join } from 'path'; -import { unlinkSync, existsSync } from 'fs'; +import * as path from 'path'; +import { unlinkSync, existsSync, readFileSync } from 'fs'; // Mock logger vi.mock('../../../src/utils/logger', () => ({ @@ -57,7 +55,6 @@ vi.mock('openai', () => { }); describe('Template Metadata Operations - Integration Tests', () => { - let db: Database.Database; let adapter: DatabaseAdapter; let repository: TemplateRepository; let service: TemplateService; @@ -65,9 +62,13 @@ describe('Template Metadata Operations - Integration Tests', () => { beforeEach(async () => { // Create temporary database - dbPath = join(tmpdir(), `test-metadata-${Date.now()}.db`); - db = new Database(dbPath); - adapter = new BetterSqlite3Adapter(db); + dbPath = path.join(tmpdir(), `test-metadata-${Date.now()}.db`); + adapter = await createDatabaseAdapter(dbPath); + + // Initialize database schema + const schemaPath = path.join(__dirname, '../../../src/database/schema.sql'); + const schema = readFileSync(schemaPath, 'utf8'); + adapter.exec(schema); // Initialize repository and service repository = new TemplateRepository(adapter); @@ -78,8 +79,8 @@ describe('Template Metadata Operations - Integration Tests', () => { }); afterEach(() => { - if (db) { - db.close(); + if (adapter) { + adapter.close(); } if (existsSync(dbPath)) { unlinkSync(dbPath);