From 6829e5db6cb3da5e57e4cc727e35f0bcfd5fad31 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Tue, 4 Mar 2025 15:05:11 -0600 Subject: [PATCH] updated to use robot image service --- .../xcdebugger/Breakpoints_v2.xcbkptlist | 48 +++++++++++++++++++ .../Services/EmployeeService.swift | 32 +------------ .../Services/MockEmployeeService.swift | 40 ++++++++++++++++ 3 files changed, 89 insertions(+), 31 deletions(-) create mode 100644 EmployeeDirectory/Services/MockEmployeeService.swift diff --git a/EmployeeDirectory.xcodeproj/xcuserdata/mattbruce.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/EmployeeDirectory.xcodeproj/xcuserdata/mattbruce.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 7b5a656..bde18df 100644 --- a/EmployeeDirectory.xcodeproj/xcuserdata/mattbruce.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/EmployeeDirectory.xcodeproj/xcuserdata/mattbruce.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -3,4 +3,52 @@ uuid = "BCD20A5B-B7B0-4775-A851-C44BE1718BD6" type = "1" version = "2.0"> + + + + + + + + + + + + diff --git a/EmployeeDirectory/Services/EmployeeService.swift b/EmployeeDirectory/Services/EmployeeService.swift index 88f2d4e..102345c 100644 --- a/EmployeeDirectory/Services/EmployeeService.swift +++ b/EmployeeDirectory/Services/EmployeeService.swift @@ -43,34 +43,4 @@ public class EmployeeService: EmployeeServiceProtocol { } } -// Mock Service Implementation for testing & previews. -struct MockEmployeeService: EmployeeServiceProtocol { - static let sample = createUser(page: 1, index: 1) - - static func createUser(page: Int?, index: Int) -> Employee { - Employee( - uuid: UUID(), - firstName: "First \(index + ((page ?? 1) - 1) * 20)", - lastName: "Last \(index + ((page ?? 1) - 1) * 20)", - phoneNumber: "555555\(1000 + index)", - emailAddress: "user\(index)@example.com", - biography: "Biography for employee \(index)", - photoURLSmall: "https://example.com/photo_small.jpg", - photoURLLarge: "https://example.com/photo_large.jpg" - ) - } - func getUsers(page: Int?) async throws -> Employees { - // Simulate network delay. - try await Task.sleep(nanoseconds: 500_000_000) - - // Create dummy data (20 employees per page). - let dummyEmployees: [Employee] = (0..<20).map { i in - Self.createUser(page: page, index: i) - } - - // Simulate that there are more pages if page is less than 5. - let hasNext = (page ?? 1) < 5 - - return Employees(result: dummyEmployees, hasNextPage: hasNext) - } -} + diff --git a/EmployeeDirectory/Services/MockEmployeeService.swift b/EmployeeDirectory/Services/MockEmployeeService.swift new file mode 100644 index 0000000..27bcfab --- /dev/null +++ b/EmployeeDirectory/Services/MockEmployeeService.swift @@ -0,0 +1,40 @@ +// +// MockEmployeeService.swift +// EmployeeDirectory +// +// Created by Matt Bruce on 3/4/25. +// +import Foundation + +// Mock Service Implementation for testing & previews. +struct MockEmployeeService: EmployeeServiceProtocol { + static let sample = createUser(page: 1, index: 1) + + static func createUser(page: Int?, index: Int) -> Employee { + let id = UUID() + return Employee( + uuid: id, + firstName: "First \(index + ((page ?? 1) - 1) * 20)", + lastName: "Last \(index + ((page ?? 1) - 1) * 20)", + phoneNumber: "555555\(1000 + index)", + emailAddress: "user\(index)@example.com", + biography: "Biography for employee \(index)", + photoURLSmall: "https://robohash.org/\(id.uuidString).png?size=100x100&set=set1", + photoURLLarge: "https://robohash.org/\(id.uuidString).png?size=400x400&set=set1" + ) + } + func getUsers(page: Int?) async throws -> Employees { + // Simulate network delay. + try await Task.sleep(nanoseconds: 500_000_000) + + // Create dummy data (20 employees per page). + let dummyEmployees: [Employee] = (0..<20).map { i in + Self.createUser(page: page, index: i) + } + + // Simulate that there are more pages if page is less than 5. + let hasNext = (page ?? 1) < 5 + + return Employees(result: dummyEmployees, hasNextPage: hasNext) + } +}