@@ -2,7 +2,7 @@ import { beforeEach, describe, expect, it } from 'bun:test';
22import { mkdirSync , writeFileSync } from 'node:fs' ;
33import { tmpdir } from 'node:os' ;
44import { join } from 'node:path' ;
5- import { ProjectContext } from '../context' ;
5+ import { clearProjectCache , getProjectId , getProjectName } from '../context' ;
66
77describe ( 'ProjectContext' , ( ) => {
88 let testDir : string ;
@@ -11,13 +11,13 @@ describe('ProjectContext', () => {
1111 // Create a temporary test directory
1212 testDir = join ( tmpdir ( ) , `cortex-test-${ Date . now ( ) } ` ) ;
1313 mkdirSync ( testDir , { recursive : true } ) ;
14- ProjectContext . clearCache ( ) ;
14+ clearProjectCache ( ) ;
1515 } ) ;
1616
1717 describe ( 'getProjectId' , ( ) => {
1818 it ( 'should return a consistent hash for the same directory' , ( ) => {
19- const id1 = ProjectContext . getProjectId ( testDir ) ;
20- const id2 = ProjectContext . getProjectId ( testDir ) ;
19+ const id1 = getProjectId ( testDir ) ;
20+ const id2 = getProjectId ( testDir ) ;
2121
2222 expect ( id1 ) . toBe ( id2 ) ;
2323 expect ( id1 ) . toHaveLength ( 16 ) ; // SHA-256 truncated to 16 chars
@@ -30,8 +30,8 @@ describe('ProjectContext', () => {
3030 mkdirSync ( dir1 , { recursive : true } ) ;
3131 mkdirSync ( dir2 , { recursive : true } ) ;
3232
33- const id1 = ProjectContext . getProjectId ( dir1 ) ;
34- const id2 = ProjectContext . getProjectId ( dir2 ) ;
33+ const id1 = getProjectId ( dir1 ) ;
34+ const id2 = getProjectId ( dir2 ) ;
3535
3636 expect ( id1 ) . not . toBe ( id2 ) ;
3737 } ) ;
@@ -44,8 +44,8 @@ describe('ProjectContext', () => {
4444 mkdirSync ( subDir , { recursive : true } ) ;
4545
4646 // Both should return the same ID (git root)
47- const rootId = ProjectContext . getProjectId ( testDir ) ;
48- const subId = ProjectContext . getProjectId ( subDir ) ;
47+ const rootId = getProjectId ( testDir ) ;
48+ const subId = getProjectId ( subDir ) ;
4949
5050 expect ( rootId ) . toBe ( subId ) ;
5151 } ) ;
@@ -58,7 +58,7 @@ describe('ProjectContext', () => {
5858
5959 writeFileSync ( join ( testDir , 'package.json' ) , JSON . stringify ( packageJson ) ) ;
6060
61- const id = ProjectContext . getProjectId ( testDir ) ;
61+ const id = getProjectId ( testDir ) ;
6262
6363 expect ( id ) . toBeTruthy ( ) ;
6464 expect ( id ) . toHaveLength ( 16 ) ;
@@ -75,8 +75,8 @@ describe('ProjectContext', () => {
7575 const subDir = join ( testDir , 'deeply' , 'nested' , 'folder' ) ;
7676 mkdirSync ( subDir , { recursive : true } ) ;
7777
78- const rootId = ProjectContext . getProjectId ( testDir ) ;
79- const nestedId = ProjectContext . getProjectId ( subDir ) ;
78+ const rootId = getProjectId ( testDir ) ;
79+ const nestedId = getProjectId ( subDir ) ;
8080
8181 expect ( rootId ) . toBe ( nestedId ) ;
8282 } ) ;
@@ -91,12 +91,12 @@ describe('ProjectContext', () => {
9191
9292 writeFileSync ( join ( testDir , 'package.json' ) , JSON . stringify ( packageJson ) ) ;
9393
94- const name = ProjectContext . getProjectName ( testDir ) ;
94+ const name = getProjectName ( testDir ) ;
9595 expect ( name ) . toBe ( 'my-awesome-project' ) ;
9696 } ) ;
9797
9898 it ( 'should return directory name when no package.json' , ( ) => {
99- const name = ProjectContext . getProjectName ( testDir ) ;
99+ const name = getProjectName ( testDir ) ;
100100 expect ( name ) . toBeTruthy ( ) ;
101101 expect ( name ) . not . toBe ( 'unknown-project' ) ;
102102 } ) ;
@@ -105,31 +105,31 @@ describe('ProjectContext', () => {
105105 const gitDir = join ( testDir , '.git' ) ;
106106 mkdirSync ( gitDir , { recursive : true } ) ;
107107
108- const name = ProjectContext . getProjectName ( testDir ) ;
108+ const name = getProjectName ( testDir ) ;
109109 expect ( name ) . toBeTruthy ( ) ;
110110 expect ( name ) . not . toBe ( 'unknown-project' ) ;
111111 } ) ;
112112 } ) ;
113113
114114 describe ( 'caching' , ( ) => {
115115 it ( 'should cache project IDs' , ( ) => {
116- const id1 = ProjectContext . getProjectId ( testDir ) ;
116+ const id1 = getProjectId ( testDir ) ;
117117
118118 // Modify the directory (add a file)
119119 writeFileSync ( join ( testDir , 'test.txt' ) , 'test' ) ;
120120
121- const id2 = ProjectContext . getProjectId ( testDir ) ;
121+ const id2 = getProjectId ( testDir ) ;
122122
123123 // Should return cached value
124124 expect ( id1 ) . toBe ( id2 ) ;
125125 } ) ;
126126
127127 it ( 'should clear cache when requested' , ( ) => {
128- const id1 = ProjectContext . getProjectId ( testDir ) ;
128+ const id1 = getProjectId ( testDir ) ;
129129
130- ProjectContext . clearCache ( ) ;
130+ clearProjectCache ( ) ;
131131
132- const id2 = ProjectContext . getProjectId ( testDir ) ;
132+ const id2 = getProjectId ( testDir ) ;
133133
134134 // Should still be the same (deterministic)
135135 expect ( id1 ) . toBe ( id2 ) ;
0 commit comments