Skip to content

Commit 63442fe

Browse files
committed
undo dumb idea
1 parent 972f269 commit 63442fe

File tree

3 files changed

+11
-71
lines changed

3 files changed

+11
-71
lines changed

Coder Desktop/Coder Desktop/Views/Agents.swift

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,23 +13,20 @@ struct Agents<VPN: VPNService, S: Session>: View {
1313
// Agents List
1414
if vpn.state == .connected {
1515
let items = vpn.menuState.sorted
16-
let visibleOnlineItems = items.prefix(defaultVisibleRows) {
17-
$0.status != .off
18-
}
19-
let visibleItems = viewAll ? items[...] : visibleOnlineItems
16+
let visibleItems = viewAll ? items[...] : items.prefix(defaultVisibleRows)
2017
ForEach(visibleItems, id: \.id) { agent in
2118
MenuItemView(item: agent, baseAccessURL: session.baseAccessURL!)
2219
.padding(.horizontal, Theme.Size.trayMargin)
2320
}
24-
if visibleItems.count == 0 {
25-
Text("No \(items.count > 0 ? "running " : "")workspaces!")
21+
if items.count == 0 {
22+
Text("No workspaces!")
2623
.font(.body)
2724
.foregroundColor(.gray)
2825
.padding(.horizontal, Theme.Size.trayInset)
2926
.padding(.top, 2)
3027
}
3128
// Only show the toggle if there are more items to show
32-
if visibleOnlineItems.count < items.count {
29+
if items.count > defaultVisibleRows {
3330
Toggle(isOn: $viewAll) {
3431
Text(viewAll ? "Show less" : "Show all")
3532
.font(.headline)

Coder Desktop/Coder Desktop/Views/Util.swift

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,3 @@ extension UUID {
3131
self.init(uuid: uuid)
3232
}
3333
}
34-
35-
extension Array {
36-
func prefix(_ maxCount: Int, while predicate: (Element) -> Bool) -> ArraySlice<Element> {
37-
let failureIndex = enumerated().first(where: { !predicate($0.element) })?.offset ?? count
38-
let endIndex = Swift.min(failureIndex, maxCount)
39-
return self[..<endIndex]
40-
}
41-
}

Coder Desktop/Coder DesktopTests/AgentsTests.swift

Lines changed: 7 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -101,68 +101,19 @@ struct AgentsTests {
101101
}
102102
}
103103

104-
@Test func showAllToggle_noOnlineWorkspaces() async throws {
105-
vpn.state = .connected
106-
let tmpAgents = createMockAgents(count: Theme.defaultVisibleAgents + 1, status: .off)
107-
vpn.menuState = .init(agents: tmpAgents)
108-
109-
try await ViewHosting.host(view) {
110-
try await sut.inspection.inspect { view in
111-
var toggle = try view.find(ViewType.Toggle.self)
112-
var forEach = try view.find(ViewType.ForEach.self)
113-
#expect(throws: Never.self) { try view.find(text: "No running workspaces!") }
114-
#expect(forEach.count == 0)
115-
#expect(try toggle.labelView().text().string() == "Show all")
116-
#expect(try !toggle.isOn())
117-
118-
try toggle.tap()
119-
toggle = try view.find(ViewType.Toggle.self)
120-
forEach = try view.find(ViewType.ForEach.self)
121-
#expect(forEach.count == Theme.defaultVisibleAgents + 1)
122-
#expect(try toggle.labelView().text().string() == "Show less")
123-
124-
try toggle.tap()
125-
toggle = try view.find(ViewType.Toggle.self)
126-
forEach = try view.find(ViewType.ForEach.self)
127-
#expect(try toggle.labelView().text().string() == "Show all")
128-
#expect(forEach.count == 0)
129-
}
130-
}
131-
}
132-
133104
@Test
134-
func showAllToggle_oneOfflineWorkspace() async throws {
105+
func showOfflineWorkspace() async throws {
135106
vpn.state = .connected
136-
vpn.menuState = .init(agents: createMockAgents(count: Theme.defaultVisibleAgents - 2))
137-
let offlineAgent = Agent(
138-
id: UUID(),
139-
name: "dev",
140-
status: .off,
141-
hosts: ["offline.coder"],
142-
wsName: "offlinews",
143-
wsID: UUID()
107+
vpn.menuState = .init(
108+
agents: createMockAgents(count: Theme.defaultVisibleAgents - 1),
109+
workspaces: [UUID(): Workspace(id: UUID(), name: "offline", agents: .init())]
144110
)
145-
vpn.menuState.agents[offlineAgent.id] = offlineAgent
146111

147112
try await ViewHosting.host(view) {
148113
try await sut.inspection.inspect { view in
149-
var toggle = try view.find(ViewType.Toggle.self)
150-
var forEach = try view.find(ViewType.ForEach.self)
151-
#expect(forEach.count == Theme.defaultVisibleAgents - 2)
152-
#expect(try toggle.labelView().text().string() == "Show all")
153-
#expect(try !toggle.isOn())
154-
155-
try toggle.tap()
156-
toggle = try view.find(ViewType.Toggle.self)
157-
forEach = try view.find(ViewType.ForEach.self)
158-
#expect(forEach.count == Theme.defaultVisibleAgents - 1)
159-
#expect(try toggle.labelView().text().string() == "Show less")
160-
161-
try toggle.tap()
162-
toggle = try view.find(ViewType.Toggle.self)
163-
forEach = try view.find(ViewType.ForEach.self)
164-
#expect(try toggle.labelView().text().string() == "Show all")
165-
#expect(forEach.count == Theme.defaultVisibleAgents - 2)
114+
let forEach = try view.find(ViewType.ForEach.self)
115+
#expect(forEach.count == Theme.defaultVisibleAgents)
116+
#expect(throws: Never.self) { try view.find(link: "offline.coder") }
166117
}
167118
}
168119
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy