1
This commit is contained in:
@@ -61,6 +61,7 @@ test('custom world agent ui state reads from query first and persists to session
|
||||
activeSessionId: 'session-1',
|
||||
activeOperationId: 'operation-1',
|
||||
customWorldGenerationSource: 'agent-draft-foundation',
|
||||
ownerUserId: 'user-1',
|
||||
});
|
||||
|
||||
currentUrl = '/play';
|
||||
@@ -75,6 +76,48 @@ test('custom world agent ui state reads from query first and persists to session
|
||||
expect(readCustomWorldAgentUiState(env)).toEqual({});
|
||||
});
|
||||
|
||||
test('custom world agent ui state hydrates query owner from matching stored session only', () => {
|
||||
const sessionStorage = createMemoryStorage();
|
||||
sessionStorage.setItem(
|
||||
'genarrative.custom-world-agent-ui.v1',
|
||||
JSON.stringify({
|
||||
activeSessionId: 'session-1',
|
||||
ownerUserId: 'user-1',
|
||||
}),
|
||||
);
|
||||
|
||||
expect(
|
||||
readCustomWorldAgentUiState({
|
||||
location: {
|
||||
pathname: '/',
|
||||
search: '?customWorldSessionId=session-1',
|
||||
},
|
||||
history: null,
|
||||
sessionStorage,
|
||||
}),
|
||||
).toEqual({
|
||||
activeSessionId: 'session-1',
|
||||
activeOperationId: null,
|
||||
customWorldGenerationSource: null,
|
||||
ownerUserId: 'user-1',
|
||||
});
|
||||
|
||||
expect(
|
||||
readCustomWorldAgentUiState({
|
||||
location: {
|
||||
pathname: '/',
|
||||
search: '?customWorldSessionId=session-2',
|
||||
},
|
||||
history: null,
|
||||
sessionStorage,
|
||||
}),
|
||||
).toEqual({
|
||||
activeSessionId: 'session-2',
|
||||
activeOperationId: null,
|
||||
customWorldGenerationSource: null,
|
||||
});
|
||||
});
|
||||
|
||||
test('custom world agent ui state only auto restores stored pointers on RPG creation paths', () => {
|
||||
const sessionStorage = createMemoryStorage();
|
||||
sessionStorage.setItem(
|
||||
|
||||
Reference in New Issue
Block a user