// // EmployeeDirectoryTests.swift // EmployeeDirectoryTests // // Created by Matt Bruce on 1/20/25. // import Testing import XCTest @testable import EmployeeDirectory struct EmployeeDirectoryTests { @Test func getEmployeesValid() async throws { do { let wrapper = try await EmployeeService().getEmployees(.production) #expect(wrapper.employees.count == 11) } catch { XCTFail("Unexpected error: \(error)") } } @Test func getEmployeesMalformed() async throws { do { let wrapper = try await EmployeeService().getEmployees(.malformed) XCTFail("Expected to throw, but got \(wrapper.employees.count) employees") } catch let error as NetworkServiceError { switch error { case .invalidResponse: XCTAssertTrue(true, "Correctly threw invalidResponse error") default: XCTFail("Expected NetworkServiceError.invalidResponse, but got \(error)") } } catch { XCTFail("Unexpected error: \(error)") } } @Test func getEmployeesEmpty() async throws { do { let wrapper = try await EmployeeService().getEmployees(.empty) #expect(wrapper.employees.count == 0) } catch { XCTFail("Unexpected error: \(error)") } } }