You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -123,6 +124,22 @@ test('chronicle keeps loaded tabs visible and shows sent blessings immediately',
123
124
assert.ok(/_injectLocalBlessing\(account,energy\)/.test(chronicleJs),'blessing success path should inject visible local action');
124
125
});
125
126
127
+
128
+
129
+
test('completed quest list resolves quest titles instead of raw ids',function(){
130
+
assert.ok(/titleKey:quest\.titleKey/.test(read('app/js/engine/quest-system.js')),'completed quest records should preserve titleKey for future claims');
131
+
assert.ok(/function_completedQuestTitle/.test(questScreenJs),'quest screen should resolve completed quest titles');
132
+
assert.ok(/GameQuests\.getQuest\(q\.id\)/.test(questScreenJs),'completed quest title should fall back to quest template');
133
+
assert.ok(!/Helpers\.t\(q\.id\)/.test(questScreenJs),'completed quest list must not translate raw quest ids');
134
+
});
135
+
136
+
test('chronicle guild narratives have a guild-name fallback',function(){
137
+
assert.ok(/function_guildDisplayName/.test(chronicleJs),'chronicle should resolve guild display names');
138
+
assert.ok(/function_guildNameForCreateAction/.test(chronicleJs),'chronicle should recover guild names for old create entries');
139
+
assert.ok(/guildName:guild\.name/.test(stateEngineJs),'guild join events should carry guildName');
140
+
assert.ok(/chronicle_unknown_guild/.test(chronicleJs+ruJs+enJs),'unknown guild fallback copy should exist');
141
+
});
142
+
126
143
test('stale checkpoint catch-up keeps using scaled batches after first batch',function(){
127
144
assert.ok(/function_nextCatchupBatchEnd/.test(appJs),'app should centralize catch-up batch sizing');
128
145
assert.ok(/varremaining=Math\.max\(0,chainHead-startBlock\+1\)/.test(appJs),'batch sizing should use remaining gap');
@@ -164,6 +181,16 @@ test('high-traffic UI narration and inventory stat labels are translated', funct
164
181
});
165
182
});
166
183
184
+
185
+
186
+
test('service worker updates quickly and keeps navigations network-first',function(){
187
+
constswJs=read('app/sw.js');
188
+
assert.ok(/viz-magic-v19/.test(swJs),'service worker cache version should be bumped');
189
+
assert.ok(/self\.skipWaiting\(\)/.test(swJs),'service worker should activate new cache without waiting for all tabs to close');
190
+
assert.ok(/self\.clients\.claim\(\)/.test(swJs),'service worker should claim clients after activation');
191
+
assert.ok(/event\.request\.mode==='navigate'[\s\S]*fetch\(event\.request\)/.test(swJs),'navigation requests should prefer network to avoid stale cached index');
192
+
});
193
+
167
194
test('leaderboard has local character fallback while 24h scan is empty or slow',function(){
168
195
assert.ok(/function_fallbackRowsFromState/.test(leaderboardJs),'leaderboard should expose local fallback rows');
169
196
assert.ok(/rows=_fallbackRowsFromState\(\)/.test(leaderboardJs),'leaderboard should use fallback when snapshot rows are empty');
0 commit comments