@@ -3,41 +3,23 @@ import { promises as fs } from 'node:fs';
33import test from 'node:test' ;
44
55const TEST_TRACKER_FILE = 'test-advent-tracker.json' ;
6+ process . env . ADVENT_OF_CODE_TRACKER_PATH = TEST_TRACKER_FILE ;
67
7- /**
8- * Helper function to load tracker data
9- */
10- async function loadTracker ( filename ) {
11- try {
12- const data = await fs . readFile ( filename , 'utf-8' ) ;
13- return JSON . parse ( data ) ;
14- } catch ( error ) {
15- return { } ;
16- }
17- }
18-
19- /**
20- * Helper function to save tracker data
21- */
22- async function saveTracker ( filename , data ) {
23- await fs . writeFile ( filename , JSON . stringify ( data , null , 2 ) , 'utf-8' ) ;
24- }
8+ // Import after setting env var
9+ const { loadTracker, saveTracker } = await import ( './advent-scheduler.js' ) ;
2510
26- /**
27- * Helper function to clean up test tracker file
28- */
2911async function cleanupTestTracker ( ) {
3012 try {
3113 await fs . unlink ( TEST_TRACKER_FILE ) ;
32- } catch ( error ) {
14+ } catch ( _error ) {
3315 // File might not exist, that's fine
3416 }
3517}
3618
3719test ( 'advent scheduler: tracker file operations' , async ( t ) => {
3820 await t . test ( 'should create empty tracker if file does not exist' , async ( ) => {
3921 await cleanupTestTracker ( ) ;
40- const tracker = await loadTracker ( TEST_TRACKER_FILE ) ;
22+ const tracker = await loadTracker ( ) ;
4123 assert . deepEqual ( tracker , { } ) ;
4224 } ) ;
4325
@@ -46,17 +28,17 @@ test('advent scheduler: tracker file operations', async (t) => {
4628 '2025' : [ 1 , 2 , 3 ] ,
4729 '2026' : [ 1 ] ,
4830 } ;
49- await saveTracker ( TEST_TRACKER_FILE , testData ) ;
50- const loaded = await loadTracker ( TEST_TRACKER_FILE ) ;
31+ await saveTracker ( testData ) ;
32+ const loaded = await loadTracker ( ) ;
5133 assert . deepEqual ( loaded , testData ) ;
5234 } ) ;
5335
5436 await t . test ( 'should track multiple days per year' , async ( ) => {
5537 const tracker = {
5638 '2025' : [ 1 , 5 , 10 , 15 , 20 , 25 ] ,
5739 } ;
58- await saveTracker ( TEST_TRACKER_FILE , tracker ) ;
59- const loaded = await loadTracker ( TEST_TRACKER_FILE ) ;
40+ await saveTracker ( tracker ) ;
41+ const loaded = await loadTracker ( ) ;
6042 assert . equal ( loaded [ '2025' ] . length , 6 ) ;
6143 assert . ok ( loaded [ '2025' ] . includes ( 1 ) ) ;
6244 assert . ok ( loaded [ '2025' ] . includes ( 25 ) ) ;
0 commit comments