import assert from 'node:assert/strict' import { describe, it } from 'node:test' import { afterRefresh, whileRefreshing } from './refresh-state.ts' describe('refresh presentation', () => { it('keeps the last series visible while a cached refresh is in flight', () => { assert.deepEqual(whileRefreshing(true), { showFullPageLoading: false, statusUpdating: true, treatAsOffline: false, }) }) it('never uses a full-page loading card, even before a series is on screen', () => { assert.deepEqual(whileRefreshing(false), { showFullPageLoading: false, statusUpdating: false, treatAsOffline: false, }) }) it('does not call a successful refresh offline', () => { assert.deepEqual( afterRefresh({ hasCachedSeries: true, fetchSucceeded: true, networkOnline: true, }), { showFullPageLoading: false, statusUpdating: false, treatAsOffline: false, }, ) }) it('marks a failed refresh offline only when a cached series is still on screen', () => { assert.deepEqual( afterRefresh({ hasCachedSeries: true, fetchSucceeded: false, networkOnline: true, }), { showFullPageLoading: false, statusUpdating: false, treatAsOffline: true, }, ) }) })