fix: align AI retouch template rules
This commit is contained in:
@@ -102,7 +102,7 @@ final class TravelAlbumAIRetouchTemplateViewModelTests: XCTestCase {
|
||||
)
|
||||
}
|
||||
|
||||
func testReretouchWorkflowShowsAndSubmitsOnlyRequiredCategories() async {
|
||||
func testReretouchWorkflowAllowsAtmosphereOnlyFromOriginalTab() async {
|
||||
let api = makeAPI()
|
||||
let refined = TravelAlbumAIRetouchTemplateViewModel(
|
||||
scenicId: 18,
|
||||
@@ -133,9 +133,19 @@ final class TravelAlbumAIRetouchTemplateViewModelTests: XCTestCase {
|
||||
)
|
||||
await all.loadTemplates(api: api)
|
||||
XCTAssertEqual(all.visibleCategories, [.refined, .atmosphere])
|
||||
XCTAssertEqual(all.selectedRefinedTemplateId, 11)
|
||||
XCTAssertNil(all.selectedRefinedTemplateId)
|
||||
XCTAssertNil(all.selectedAtmosphereTemplateId)
|
||||
XCTAssertTrue(all.isOptional(.refined))
|
||||
XCTAssertTrue(all.isOptional(.atmosphere))
|
||||
XCTAssertEqual(all.requiredQuota, 0)
|
||||
XCTAssertFalse(all.canSubmit)
|
||||
XCTAssertEqual(all.validationMessage, "请至少选择一个修图模板")
|
||||
|
||||
all.toggleTemplate(id: 11, category: .refined)
|
||||
XCTAssertEqual(all.selectedRefinedTemplateId, 11)
|
||||
all.toggleTemplate(id: 11, category: .refined)
|
||||
XCTAssertNil(all.selectedRefinedTemplateId)
|
||||
all.toggleTemplate(id: 21, category: .atmosphere)
|
||||
XCTAssertEqual(all.requiredQuota, 1)
|
||||
XCTAssertTrue(all.canSubmit)
|
||||
await all.submit(api: api)
|
||||
@@ -159,8 +169,8 @@ final class TravelAlbumAIRetouchTemplateViewModelTests: XCTestCase {
|
||||
id: 9,
|
||||
aiRetouchBatchId: 90,
|
||||
type: .all,
|
||||
refinedTemplateId: 11,
|
||||
atmosphereTemplateId: nil
|
||||
refinedTemplateId: nil,
|
||||
atmosphereTemplateId: 21
|
||||
),
|
||||
])
|
||||
}
|
||||
@@ -183,7 +193,7 @@ final class TravelAlbumAIRetouchTemplateViewModelTests: XCTestCase {
|
||||
XCTAssertTrue(api.aiReretouchRequests.isEmpty)
|
||||
}
|
||||
|
||||
func testMissingOptionalAtmosphereDoesNotDisableAllReretouchWorkflow() async {
|
||||
func testMissingOptionalAtmosphereStillAllowsSelectingRefinedInAllReretouchWorkflow() async {
|
||||
let api = makeAPI()
|
||||
api.aiRetouchTemplatesResponse = TravelAlbumAIRetouchTemplatesResponse(
|
||||
refinedTemplates: [template(11, "清透")],
|
||||
@@ -198,6 +208,8 @@ final class TravelAlbumAIRetouchTemplateViewModelTests: XCTestCase {
|
||||
|
||||
await viewModel.loadTemplates(api: api)
|
||||
|
||||
XCTAssertFalse(viewModel.canSubmit)
|
||||
viewModel.toggleTemplate(id: 11, category: .refined)
|
||||
XCTAssertTrue(viewModel.canSubmit)
|
||||
XCTAssertNil(viewModel.validationMessage)
|
||||
XCTAssertEqual(viewModel.requiredQuota, 1)
|
||||
@@ -213,7 +225,7 @@ final class TravelAlbumAIRetouchTemplateViewModelTests: XCTestCase {
|
||||
)
|
||||
let reretouch = TravelAlbumAIRetouchTemplateViewModel(
|
||||
scenicId: 18,
|
||||
workflow: .reretouch(materialId: 7, batchId: 70, type: .all)
|
||||
workflow: .reretouch(materialId: 7, batchId: 70, type: .refined)
|
||||
)
|
||||
await reretouch.loadTemplates(api: refinedAPI)
|
||||
XCTAssertFalse(reretouch.canSubmit)
|
||||
|
||||
Reference in New Issue
Block a user