fix: refresh travel albums after OTG return

This commit is contained in:
2026-08-14 16:46:05 +08:00
parent 83afcb6deb
commit 8e444f7434
3 changed files with 75 additions and 3 deletions
@@ -99,6 +99,19 @@ final class TravelAlbumAIJobViewModelTests: XCTestCase {
@MainActor
/// 旅拍相册 ViewModel 测试。
final class TravelAlbumEntryViewModelTests: XCTestCase {
func testReturnRefreshStateSuppressesAnimationUntilRefreshFinishes() {
var state = TravelAlbumReturnRefreshState()
XCTAssertFalse(state.beginRefreshIfNeeded())
XCTAssertFalse(state.suppressesSnapshotAnimations)
state.markRefreshNeeded()
XCTAssertTrue(state.beginRefreshIfNeeded())
XCTAssertTrue(state.suppressesSnapshotAnimations)
state.finishRefresh()
XCTAssertFalse(state.suppressesSnapshotAnimations)
XCTAssertFalse(state.beginRefreshIfNeeded())
}
func testLoadAlbumsUpdatesListAndTotal() async {
let api = TravelAlbumMockAPI()
api.listResponse = TravelAlbumListResponse(total: 1, list: [TravelAlbum(id: 1, name: "A")])