@@ -16,6 +16,8 @@ function summary(overrides: Partial<SnapshotSummary> = {}): SnapshotSummary {
1616 moduleName : 'Plugin_Schedule' ,
1717 snapshotDatetime : '2026-08-30 12:00:00' ,
1818 userId : 1 ,
19+ blogId : 1 ,
20+ blogName : null ,
1921 ...overrides ,
2022 } ;
2123}
@@ -67,6 +69,31 @@ describe('loadSnapshots', () => {
6769 expect ( result . current . error ) . toBe ( '権限がありません。' ) ;
6870 expect ( result . current . snapshots ) . toEqual ( [ ] ) ;
6971 } ) ;
72+
73+ it ( 'includeChildren:trueを渡すとfetchSnapshotsにそのまま渡す' , async ( ) => {
74+ mockedFetchSnapshots . mockResolvedValue ( { success : true , snapshots : [ ] } ) ;
75+ const { result } = renderHook ( ( ) => useMigrationHistory ( 1 ) ) ;
76+
77+ await act ( async ( ) => {
78+ await result . current . loadSnapshots ( true ) ;
79+ } ) ;
80+
81+ expect ( mockedFetchSnapshots ) . toHaveBeenCalledWith ( 1 , true ) ;
82+ } ) ;
83+
84+ it ( '引数を省略した場合、直近に指定したincludeChildrenを維持する' , async ( ) => {
85+ mockedFetchSnapshots . mockResolvedValue ( { success : true , snapshots : [ ] } ) ;
86+ const { result } = renderHook ( ( ) => useMigrationHistory ( 1 ) ) ;
87+
88+ await act ( async ( ) => {
89+ await result . current . loadSnapshots ( true ) ;
90+ } ) ;
91+ await act ( async ( ) => {
92+ await result . current . loadSnapshots ( ) ;
93+ } ) ;
94+
95+ expect ( mockedFetchSnapshots ) . toHaveBeenLastCalledWith ( 1 , true ) ;
96+ } ) ;
7097} ) ;
7198
7299describe ( 'rollback' , ( ) => {
@@ -78,8 +105,8 @@ describe('rollback', () => {
78105
79106 let secondResult : boolean | null = null ;
80107 act ( ( ) => {
81- void result . current . rollback ( 10 ) ;
82- void result . current . rollback ( 10 ) . then ( ( r ) => {
108+ void result . current . rollback ( 10 , 1 ) ;
109+ void result . current . rollback ( 10 , 1 ) . then ( ( r ) => {
83110 secondResult = r ;
84111 } ) ;
85112 } ) ;
@@ -94,13 +121,25 @@ describe('rollback', () => {
94121 expect ( secondResult ) . toBe ( false ) ;
95122 } ) ;
96123
124+ it ( 'スナップショットの所有ブログIDでrollbackMigration()を呼ぶ(hookのblogIdとは独立)' , async ( ) => {
125+ mockedRollback . mockResolvedValue ( { success : true } ) ;
126+ mockedFetchSnapshots . mockResolvedValue ( { success : true , snapshots : [ ] } ) ;
127+ const { result } = renderHook ( ( ) => useMigrationHistory ( 1 ) ) ;
128+
129+ await act ( async ( ) => {
130+ await result . current . rollback ( 10 , 5 ) ;
131+ } ) ;
132+
133+ expect ( mockedRollback ) . toHaveBeenCalledWith ( 5 , 10 ) ;
134+ } ) ;
135+
97136 it ( '成功したら一覧を再取得する' , async ( ) => {
98137 mockedRollback . mockResolvedValue ( { success : true } ) ;
99138 mockedFetchSnapshots . mockResolvedValue ( { success : true , snapshots : [ summary ( ) ] } ) ;
100139 const { result } = renderHook ( ( ) => useMigrationHistory ( 1 ) ) ;
101140
102141 await act ( async ( ) => {
103- await result . current . rollback ( 10 ) ;
142+ await result . current . rollback ( 10 , 1 ) ;
104143 } ) ;
105144
106145 expect ( mockedFetchSnapshots ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -114,7 +153,7 @@ describe('rollback', () => {
114153 const { result } = renderHook ( ( ) => useMigrationHistory ( 1 , { onRollbackSuccess } ) ) ;
115154
116155 await act ( async ( ) => {
117- await result . current . rollback ( 10 ) ;
156+ await result . current . rollback ( 10 , 1 ) ;
118157 } ) ;
119158
120159 expect ( onRollbackSuccess ) . toHaveBeenCalledTimes ( 1 ) ;
@@ -124,7 +163,7 @@ describe('rollback', () => {
124163 mockedRollback . mockRejectedValue ( new Error ( 'ロールバックに失敗しました。' ) ) ;
125164 const { result } = renderHook ( ( ) => useMigrationHistory ( 1 ) ) ;
126165
127- const succeeded = await act ( async ( ) => result . current . rollback ( 10 ) ) ;
166+ const succeeded = await act ( async ( ) => result . current . rollback ( 10 , 1 ) ) ;
128167
129168 expect ( succeeded ) . toBe ( false ) ;
130169 expect ( result . current . error ) . toBe ( 'ロールバックに失敗しました。' ) ;
0 commit comments