import React from "react"; let busy = false; const filters = [ { can_id: "123-456", interval: 789, }, { can_id: "1", interval: 1000, }, { can_id: "1000", interval: 1, }, ]; let vehicle = { vin: "3C4PDCBG0ET127145", year: 2021, model: "Ocean", trim: "Basic", ecu_list: "ECUA 2.0.0, ECUB 2.1.1", log_level: "info", canbus: { enabled: true, data_logger_enabled: true, max_mem_buffer_size: 1, max_disk_buffer_size: 2, filters: filters, }, }; let vehicleState = { data: { online: false, online_hmi: true, battery: { total_mileage_odometer: 12000, percent: 95, battery_voltage: 12.5, }, max_range: { max_miles: 577, }, doors: { hood: false, left_front: false, left_rear: false, right_front: false, right_rear: false, trunk: false, }, location: { altitude: 17, longitude: -122.414, latitude: 37.764, }, door_locks: { driver: false, all: false, }, sunroof: { sunroof: 0, }, cabin_climate: { cabin_temperature: 0, internal_temperature: 29, }, ambient_temperature: { temperature: 26, }, trex_version: "1000000", dbc_version: "d439abd3662dd20099f49dd8f43f7b145202e961caa2b5aba2c6154c8096348b", ip: "172.20.0.17:49850", updated: "2022-07-26T00:26:38.880381Z", vehicle_speed: { speed: 77.7, }, gear: { in_park: true, } }, }; let vehicles = []; let models = ["Ocean", "PEAR"]; let years = [2023, 2024]; let totalVehicles = 0; let fleets = ["fleet1", "fleet2"]; let totalFleets = 2; let error = null; export const VehicleProvider = ({ children }) => { return
{children}
; }; export const VehicleConsumer = ({ children }) => { return children(); }; export const useVehicleContext = () => ({ busy, models, fleets, totalFleets, totalVehicles, vehicle, vehicles, years, addVehicle: jest.fn(), getConnections: jest .fn().mockImplementation((vins, _token) => { const result = { "USWESTVIN12345678": true, "2:USWESTVIN12345678": false, "USWESTVIN12345679": true, "2:USWESTVIN12345679": false, "USWESTVIN12345670": true, "2:USWESTVIN12345670": false, }; return Promise.resolve(result); }), getECUs: jest.fn(() => { return { data: [ { config: "CONFIG", created: "2021-07-14T20:09:40.98187Z", ecu: "ECUA", hw_version: "HWVERSION", sw_version: "SWVERSION", updated: "2021-07-14T20:09:40.98187Z", }, { config: "CONFIG", created: "2021-07-14T20:09:40.98187Z", hw_version: "HWVERSION", sw_version: "SWVERSION", updated: "2021-07-14T20:09:40.98187Z", }, ], total: 2, }; }), getLocations: jest .fn() .mockResolvedValue([ { altitude: 5, longitude: 10, latitude: 15, vin: "TESTVIN123" }, ]), getLocationsVehiclePaths: jest .fn() .mockResolvedValue({ // tests only pass without mocking the data here // '3FAFP13P71R199267': [], // '3FAFP13P31R199430': [[16.891136999999986, 26.832352999999955], [56.891136999999986, 66.832352999999955], [26.891136999999986, 36.832352999999955]], // '3FAFP13P71R199060': [[36.891136999999986, 46.832352999999955], [76.891136999999986, 16.832352999999955]], }), getModels: jest.fn(() => { models = ["Ocean", "PEAR"]; }), getState: jest.fn().mockResolvedValue(vehicleState), getYears: jest.fn(() => { years = [2023, 2024]; }), getVehicle: jest.fn(), getVehicles: jest.fn(() => vehicles), sendCommand: jest.fn((vins, command, parameters, _token) => ({ vins, command, parameters, })), getFleets: jest.fn((vin, search, _token) => { return { data: ["fleet1", "fleet2"], total: 2, } }), }); export const setBusy = (val) => { busy = val; }; export const setVehicles = (val) => { vehicles = val; };