Record slice 7 B-C recheck after later slices drifted climate and dress paths.

Adds a weather-drop walk test so a jacket is not teleported onto the body; PE change regressions already red on main stay open.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Leonid Pershin
2026-08-20 16:17:45 +03:00
co-authored by Cursor
parent 505bcc6912
commit 118d1815d8
5 changed files with 150 additions and 28 deletions
@@ -142,6 +142,11 @@ describe('renderPersonCard', () => {
expect(root.textContent).toContain(t('peopleHomeCount', { n: 2 }));
expect(root.textContent).toContain('Учебник · Математика');
root.replaceChildren();
renderPersonCard(root, card({ hasLocker: true }), () => {}, options({ tab: 'carry' }));
expect(root.textContent).toContain(t('peopleLockerYes'));
expect(root.textContent).not.toContain(t('peopleLockerNone'));
tabButton(root, 'now').click();
expect(root.querySelector('[data-card-tab="now"]')?.hasAttribute('hidden')).toBe(false);
});
+12 -1
View File
@@ -422,7 +422,18 @@ public sealed class School : IDisposable
public void SyncWeather(bool force)
{
ObjectDisposedException.ThrowIf(_disposed, this);
var next = EvaluateWeather();
CommitWeather(EvaluateWeather(), force);
}
/// <summary>
/// Test hook: the vanilla diurnal never crosses <c>outerBelowC</c> during a school day, so a
/// mid-day frost has to be injected to prove jackets walk to the locker room instead of
/// appearing on the body.
/// </summary>
internal void ForceWeather(OutdoorWeather weather) => CommitWeather(weather, force: true);
private void CommitWeather(OutdoorWeather next, bool force)
{
if (force || next.Tenths != Weather.Tenths || next.Precipitation != Weather.Precipitation)
{
var before = Weather;