Skip to content

Commit f89f797

Browse files
committed
Fixed some tests
1 parent 5b12a40 commit f89f797

File tree

3 files changed

+68
-39
lines changed

3 files changed

+68
-39
lines changed

CodeEditTests/Features/Activities/ActivityManagerTests.swift

Lines changed: 57 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -11,63 +11,83 @@ import XCTest
1111
final class ActivityManagerTests: XCTestCase {
1212
var activityManager: ActivityManager!
1313

14-
override func setUp() {
15-
super.setUp()
16-
activityManager = ActivityManager()
14+
override func setUp() async throws {
15+
try await super.setUp()
16+
// Initialize on main actor since ActivityManager is main actor-isolated
17+
await MainActor.run {
18+
activityManager = ActivityManager()
19+
}
1720
}
1821

19-
override func tearDown() {
20-
activityManager = nil
21-
super.tearDown()
22+
override func tearDown() async throws {
23+
await MainActor.run {
24+
activityManager = nil
25+
}
26+
try await super.tearDown()
2227
}
2328

24-
func testCreateTask() {
25-
let activity = activityManager.post(title: "Task Title")
26-
XCTAssertEqual(activityManager.activities.first?.id, activity.id)
27-
XCTAssertEqual(activityManager.activities.first?.title, "Task Title")
29+
func testCreateTask() async {
30+
await MainActor.run {
31+
let activity = activityManager.post(title: "Task Title")
32+
XCTAssertEqual(activityManager.activities.first?.id, activity.id)
33+
XCTAssertEqual(activityManager.activities.first?.title, "Task Title")
34+
}
2835
}
2936

30-
func testCreateTaskWithPriority() {
31-
let activity1 = activityManager.post(title: "Task Title")
32-
let activity2 = activityManager.post(
33-
priority: true,
34-
title: "Priority Task Title"
35-
)
37+
func testCreateTaskWithPriority() async {
38+
await MainActor.run {
39+
let activity1 = activityManager.post(title: "Task Title")
40+
let activity2 = activityManager.post(
41+
priority: true,
42+
title: "Priority Task Title"
43+
)
3644

37-
XCTAssertEqual(activityManager.activities.first?.id, activity2.id)
38-
XCTAssertEqual(activityManager.activities.first?.title, "Priority Task Title")
39-
XCTAssertEqual(activityManager.activities.last?.id, activity1.id)
45+
XCTAssertEqual(activityManager.activities.first?.id, activity2.id)
46+
XCTAssertEqual(activityManager.activities.first?.title, "Priority Task Title")
47+
XCTAssertEqual(activityManager.activities.last?.id, activity1.id)
48+
}
4049
}
4150

42-
func testUpdateTask() {
43-
let activity = activityManager.post(title: "Task Title")
51+
func testUpdateTask() async {
52+
await MainActor.run {
53+
let activity = activityManager.post(title: "Task Title")
4454

45-
activityManager.update(
46-
id: activity.id,
47-
title: "Updated Task Title"
48-
)
55+
activityManager.update(
56+
id: activity.id,
57+
title: "Updated Task Title"
58+
)
4959

50-
XCTAssertEqual(activityManager.activities.first?.title, "Updated Task Title")
60+
XCTAssertEqual(activityManager.activities.first?.title, "Updated Task Title")
61+
}
5162
}
5263

53-
func testDeleteTask() {
54-
let activity = activityManager.post(title: "Task Title")
55-
activityManager.delete(id: activity.id)
64+
func testDeleteTask() async {
65+
await MainActor.run {
66+
let activity = activityManager.post(title: "Task Title")
67+
activityManager.delete(id: activity.id)
5668

57-
XCTAssertTrue(activityManager.activities.isEmpty)
69+
XCTAssertTrue(activityManager.activities.isEmpty)
70+
}
5871
}
5972

60-
func testDeleteTaskWithDelay() {
61-
let activity = activityManager.post(title: "Task Title")
62-
activityManager.delete(id: activity.id, delay: 0.2)
73+
func testDeleteTaskWithDelay() async throws {
74+
let expectation = XCTestExpectation()
6375

64-
XCTAssertFalse(activityManager.activities.isEmpty)
76+
await MainActor.run {
77+
let activity = activityManager.post(title: "Task Title")
78+
activityManager.delete(id: activity.id, delay: 0.2)
6579

66-
let expectation = XCTestExpectation()
67-
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
80+
XCTAssertFalse(activityManager.activities.isEmpty)
81+
}
82+
83+
// Wait for deletion
84+
try await Task.sleep(nanoseconds: 300_000_000) // 0.3 seconds
85+
86+
await MainActor.run {
6887
XCTAssertTrue(self.activityManager.activities.isEmpty)
6988
expectation.fulfill()
7089
}
71-
wait(for: [expectation], timeout: 1)
90+
91+
await fulfillment(of: [expectation], timeout: 1)
7292
}
7393
}

CodeEditTests/Features/Documents/WorkspaceDocument+SearchState+FindAndReplaceTests.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ final class FindAndReplaceTests: XCTestCase {
9999
// IMPORTANT:
100100
// This is only a temporary solution, in the feature a file watcher would track the file update
101101
// and trigger a index update.
102-
searchState.addProjectToIndex()
102+
Task {
103+
await searchState.addProjectToIndex()
104+
}
103105
let startTime = Date()
104106
while searchState.indexStatus != .done {
105107
try? await Task.sleep(nanoseconds: 100_000_000)

CodeEditTests/Features/Tasks/CEActiveTaskTests.swift

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,28 @@ import XCTest
1111
final class CEActiveTaskTests: XCTestCase {
1212
var task: CETask!
1313
var activeTask: CEActiveTask!
14+
var mockWorkspace: WorkspaceDocument!
1415

1516
override func setUpWithError() throws {
1617
try super.setUpWithError()
1718

19+
mockWorkspace = try WorkspaceDocument(
20+
contentsOf: URL(fileURLWithPath: NSTemporaryDirectory()),
21+
ofType: "public.folder"
22+
)
23+
1824
task = CETask(
1925
name: "Test Task",
2026
command: "echo $STATE",
2127
environmentVariables: [CETask.EnvironmentVariable(key: "STATE", value: "Testing")]
2228
)
23-
activeTask = CEActiveTask(task: task)
29+
activeTask = CEActiveTask(task: task, workspace: mockWorkspace)
2430
}
2531

2632
override func tearDownWithError() throws {
2733
task = nil
2834
activeTask = nil
35+
mockWorkspace = nil
2936
try super.tearDownWithError()
3037
}
3138

0 commit comments

Comments
 (0)