Version casi lista

This commit is contained in:
alexandrev-tibco
2026-02-17 13:34:02 +01:00
commit e593453abd
99 changed files with 10867 additions and 0 deletions
@@ -0,0 +1,44 @@
import XCTest
@testable import MealMood
@MainActor
final class OnboardingViewModelTests: XCTestCase {
func testAddDishAllowsNameOnlyAndUsesDefaultTag() {
let vm = OnboardingViewModel()
vm.newDishName = "Test dish"
let fallbackId = UUID()
vm.addDish(defaultTagId: fallbackId)
XCTAssertEqual(vm.addedDishes.count, 1)
XCTAssertEqual(vm.addedDishes.first?.name, "Test dish")
XCTAssertEqual(vm.addedDishes.first?.tagIds, [fallbackId])
}
func testAddDishPreventsDuplicateNames() {
let vm = OnboardingViewModel()
vm.newDishName = "Lentils"
vm.addDish(defaultTagId: UUID())
vm.newDishName = " lentils "
vm.addDish(defaultTagId: UUID())
XCTAssertEqual(vm.addedDishes.count, 1)
}
func testSuggestedDishFallsBackToFirstTagWhenNoNameMatch() {
let vm = OnboardingViewModel()
let fallback = Tag(name: "Carne", nameEN: "Meat", color: "#E74C3C", sortOrder: 0)
let other = Tag(name: "Pescado", nameEN: "Fish", color: "#3498DB", sortOrder: 1)
vm.addSuggestedDish(
name: "Roast chicken",
preferredTagNames: ["Unknown tag"],
availableTags: [other, fallback]
)
XCTAssertEqual(vm.addedDishes.count, 1)
XCTAssertEqual(vm.addedDishes.first?.tagIds, [fallback.id])
}
}