MinimedPumpManagerTests.swift 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //
  2. // MinimedPumpManagerTests.swift
  3. // MinimedKitTests
  4. //
  5. // Created by Pete Schwamb on 5/3/20.
  6. // Copyright © 2020 Pete Schwamb. All rights reserved.
  7. //
  8. import XCTest
  9. import RileyLinkBLEKit
  10. @testable import MinimedKit
  11. import LoopKit
  12. class MinimedPumpManagerTests: XCTestCase {
  13. var rlProvider: MockRileyLinkProvider!
  14. var mockPumpManagerDelegate: MockPumpManagerDelegate!
  15. var pumpManager: MinimedPumpManager!
  16. override func setUpWithError() throws {
  17. let device = MockRileyLinkDevice()
  18. rlProvider = MockRileyLinkProvider(devices: [device])
  19. let rlManagerState = RileyLinkConnectionState(autoConnectIDs: [])
  20. let state = MinimedPumpManagerState(
  21. isOnboarded: true,
  22. useMySentry: true,
  23. pumpColor: .blue,
  24. pumpID: "123456",
  25. pumpModel: .model523,
  26. pumpFirmwareVersion: "VER 2.4A1.1",
  27. pumpRegion: .northAmerica,
  28. rileyLinkConnectionState: rlManagerState,
  29. timeZone: .currentFixed,
  30. suspendState: .resumed(Date()),
  31. insulinType: .novolog,
  32. lastTuned: nil,
  33. lastValidFrequency: nil)
  34. let pumpOps = MockPumpOps(pumpState: state.pumpState, pumpSettings: state.pumpSettings)
  35. pumpManager = MinimedPumpManager(state: state, rileyLinkDeviceProvider: rlProvider, pumpOps: pumpOps)
  36. mockPumpManagerDelegate = MockPumpManagerDelegate()
  37. pumpManager.pumpManagerDelegate = mockPumpManagerDelegate
  38. }
  39. func testBolusWithInvalidResponse() {
  40. let exp = expectation(description: "enactBolus callback")
  41. pumpManager.enactBolus(units: 2.3, activationType: .manualNoRecommendation) { error in
  42. XCTAssertNotNil(error)
  43. exp.fulfill()
  44. }
  45. waitForExpectations(timeout: 2)
  46. }
  47. }