diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index a6c3445..42df5f0 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -12,12 +12,15 @@ jobs: runs-on: macos-latest steps: - - uses: swift-actions/setup-swift@v2 + - uses: actions/checkout@v4 with: - swift-version: "6.0.0" + swift-version: "5.10.0" + - name: Get swift version run: swift --version + - name: Build run: swift build -v + - name: Run tests run: swift test -v diff --git a/Package.swift b/Package.swift index 8c7bdcd..3e90c22 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 5.10 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription @@ -6,8 +6,8 @@ import PackageDescription let package = Package( name: "Coffee-Kit", platforms: [ - .iOS(.v18), - .macOS(.v15) + .iOS(.v17), + .macOS(.v14), ], products: [ // Products define the executables and libraries a package produces, making them visible to other packages. diff --git a/Sources/Coffee-Kit/DAO/Order/Order.swift b/Sources/Coffee-Kit/DAO/Order/Order.swift index 6bde476..b429fe6 100644 --- a/Sources/Coffee-Kit/DAO/Order/Order.swift +++ b/Sources/Coffee-Kit/DAO/Order/Order.swift @@ -44,10 +44,6 @@ public extension Order { self.paymentOption = paymentOption.rawValue paymentStatus = "pending" items = orderdProducts - - let rawDate = 763811237.81686 - let date = Date(timeIntervalSince1970: rawDate) - print("Date: \(date)") } } diff --git a/Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift b/Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift index dacc2aa..e041adc 100644 --- a/Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift +++ b/Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift @@ -7,12 +7,11 @@ import Foundation -@Observable -public class OrderBuilder { +public class OrderBuilder: ObservableObject { // MARK: - Properties private(set) var userId: UUID - public var products: [OrderProduct] = [] + @Published public var products: [OrderProduct] = [] public var totalProducts: Int { products.reduce(0) { Int($0) + Int($1.quantity) } diff --git a/Sources/Coffee-Kit/Webservice/Manager/MenuManager.swift b/Sources/Coffee-Kit/Webservice/Manager/MenuManager.swift index 5450524..78d93a9 100644 --- a/Sources/Coffee-Kit/Webservice/Manager/MenuManager.swift +++ b/Sources/Coffee-Kit/Webservice/Manager/MenuManager.swift @@ -7,14 +7,13 @@ import Foundation -@Observable @MainActor -public final class MenuManager { +public final class MenuManager: ObservableObject { // MARK: - Properties - @ObservationIgnored private var webservice: WebserviceProvider + private var webservice: WebserviceProvider - public var items: [Product] = [] + @Published public var items: [Product] = [] // MARK: - Computed Properties @@ -22,10 +21,6 @@ public final class MenuManager { return CoffeeService(databaseAPI: webservice.databaseAPI) } -// public var cakeService: CakeService { -// return CakeService(databaseAPI: webservice.databaseAPI) -// } - // MARK: - Initializer public init() { diff --git a/Sources/Coffee-Kit/Webservice/Manager/OrderManager.swift b/Sources/Coffee-Kit/Webservice/Manager/OrderManager.swift index 3d90d95..b517363 100644 --- a/Sources/Coffee-Kit/Webservice/Manager/OrderManager.swift +++ b/Sources/Coffee-Kit/Webservice/Manager/OrderManager.swift @@ -7,13 +7,12 @@ import Foundation -@Observable @MainActor -public final class OrderManager { - @ObservationIgnored private var webservice: WebserviceProvider +public final class OrderManager: ObservableObject { + private var webservice: WebserviceProvider - private(set) var pendingOrders: [Order] = [] - private(set) var completedOrders: [Order] = [] + @Published private(set) var pendingOrders: [Order] = [] + @Published private(set) var completedOrders: [Order] = [] public init(from webservice: WebserviceProvider) { self.webservice = webservice diff --git a/Tests/Coffee-KitTests/Coffee_KitTests.swift b/Tests/Coffee-KitTests/Coffee_KitTests.swift deleted file mode 100644 index f411104..0000000 --- a/Tests/Coffee-KitTests/Coffee_KitTests.swift +++ /dev/null @@ -1,6 +0,0 @@ -import Testing -@testable import Coffee_Kit - -@Test func example() async throws { - // Write your test here and use APIs like `#expect(...)` to check expected conditions. -} diff --git a/Tests/Coffee-KitTests/Coffee_LoverTests.swift b/Tests/Coffee-KitTests/Coffee_LoverTests.swift index 830b0d2..1326c42 100644 --- a/Tests/Coffee-KitTests/Coffee_LoverTests.swift +++ b/Tests/Coffee-KitTests/Coffee_LoverTests.swift @@ -7,10 +7,10 @@ @testable import Coffee_Kit import Foundation -import Testing +import XCTest -struct Coffee_LoverTests { - @Test func decodingCoffeTest() async throws { +final class Coffee_LoverTests: XCTestCase { + fileprivate func decodingCoffeTest() async throws { // Write your test here and use APIs like `#expect(...)` to check expected conditions. let ressource = """ @@ -33,6 +33,6 @@ struct Coffee_LoverTests { let data = Data(ressource.utf8) let product = try JSONDecoder().decode(Product.self, from: data) - #expect(product.id.uuidString == "e074867a-0c6a-49ff-87ca-b1ba5dae5236".uppercased()) + XCTAssertEqual(product.id.uuidString, "e074867a-0c6a-49ff-87ca-b1ba5dae5236".uppercased()) } } diff --git a/Tests/Coffee-KitTests/OrderTests.swift b/Tests/Coffee-KitTests/OrderTests.swift index a768ad4..dd940bb 100644 --- a/Tests/Coffee-KitTests/OrderTests.swift +++ b/Tests/Coffee-KitTests/OrderTests.swift @@ -7,10 +7,10 @@ @testable import Coffee_Kit import Foundation -import Testing +import XCTest -struct OrderTests { - @Test func testTakingOrder() async { +final class OrderTests: XCTestCase { + fileprivate func testTakingOrder() async { let databaseAPI = DatabaseAPI.dev let webservice = await WebserviceProvider(inMode: databaseAPI) let orderManager = await OrderManager(from: webservice)