437 lines
9.0 KiB
Go
437 lines
9.0 KiB
Go
package flashpackversion_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"fiskerinc.com/modules/common"
|
|
"fiskerinc.com/modules/db/queries/mocks"
|
|
fv "fiskerinc.com/modules/flashpackversion"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestFindCurrentFlashpackVersionForCar(t *testing.T) {
|
|
mockCars := setupMockCars()
|
|
|
|
car := common.Car{
|
|
VIN: "FISKER123",
|
|
Model: "Ocean",
|
|
Trim: "Base",
|
|
Year: 2023,
|
|
}
|
|
|
|
mockCars.SelectCarECUs = []common.CarECU{
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ADAS",
|
|
SupplierSWVersion: "ADASVersion2",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ACUN",
|
|
SupplierSWVersion: "ACUNVersionA",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "BCM",
|
|
SupplierSWVersion: "BCMVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "PDI",
|
|
SupplierSWVersion: "PDIVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "OBC",
|
|
SupplierSWVersion: "PDUVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "MCU",
|
|
SupplierSWVersion: "TBOXVersion",
|
|
},
|
|
}
|
|
|
|
flashpack, err := fv.FindCurrentFlashpackVersionForCar(&mockCars, car)
|
|
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, "46.14", flashpack)
|
|
|
|
mockCars.SelectCarECUs = []common.CarECU{
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ADAS",
|
|
SupplierSWVersion: "ADASVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ACUN",
|
|
SupplierSWVersion: "ACUNVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "BCM",
|
|
SupplierSWVersion: "BCMVersion",
|
|
},
|
|
}
|
|
|
|
flashpack, err = fv.FindCurrentFlashpackVersionForCar(&mockCars, car)
|
|
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, "", flashpack)
|
|
|
|
mockCars.SelectCarECUs = []common.CarECU{
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ADAS",
|
|
SupplierSWVersion: "ADASVersion1",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ACUN",
|
|
SupplierSWVersion: "ACUNVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "BCM",
|
|
SupplierSWVersion: "BCMVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "PDI",
|
|
SupplierSWVersion: "PDIVersion",
|
|
},
|
|
}
|
|
|
|
flashpack, err = fv.FindCurrentFlashpackVersionForCar(&mockCars, car)
|
|
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, "41.14", flashpack)
|
|
|
|
mockCars.SelectCarECUs = []common.CarECU{
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ADAS",
|
|
SupplierSWVersion: "ADASVersion1",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ACUN",
|
|
SupplierSWVersion: "ACUNVersion0",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "BCM",
|
|
SupplierSWVersion: "BCMVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "PDI",
|
|
SupplierSWVersion: "PDIVersion",
|
|
},
|
|
}
|
|
|
|
flashpack, err = fv.FindCurrentFlashpackVersionForCar(&mockCars, car)
|
|
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, "39.14", flashpack)
|
|
|
|
mockCars.SelectCarECUs = []common.CarECU{
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "PDI",
|
|
SupplierSWVersion: "PDIVersion",
|
|
},
|
|
}
|
|
|
|
flashpack, err = fv.FindCurrentFlashpackVersionForCar(&mockCars, car)
|
|
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, "37.14", flashpack)
|
|
}
|
|
|
|
func TestFindCarECUsToUpdateForNextFlashpackNumber(t *testing.T) {
|
|
mockCars := setupMockCars()
|
|
|
|
car := common.Car{
|
|
VIN: "FISKER123",
|
|
Model: "Ocean",
|
|
Trim: "Base",
|
|
Year: 2023,
|
|
}
|
|
|
|
mockCars.SelectCarECUs = []common.CarECU{
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ADAS",
|
|
SupplierSWVersion: "ADASVersion0",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ACUN",
|
|
SupplierSWVersion: "ACUNVersion0",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "PDI",
|
|
SupplierSWVersion: "PDIVersion",
|
|
},
|
|
}
|
|
|
|
ecus, err := fv.FindCarECUsToUpdateForNextFlashpackNumber(&mockCars, car, "41.14")
|
|
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, []common.CarECUVersion{
|
|
{
|
|
CarECUName: "ADAS",
|
|
CarECUVersion: "ADASVersion",
|
|
},
|
|
{
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersion",
|
|
},
|
|
{
|
|
CarECUName: "BCM",
|
|
CarECUVersion: "BCMVersion",
|
|
},
|
|
}, ecus)
|
|
|
|
mockCars.SelectCarECUs = []common.CarECU{
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ADAS",
|
|
SupplierSWVersion: "ADASVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "ACUN",
|
|
SupplierSWVersion: "ACUNVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "PDI",
|
|
SupplierSWVersion: "PDIVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "BCM",
|
|
SupplierSWVersion: "BCMVersion",
|
|
},
|
|
{
|
|
VIN: "FISKER123",
|
|
ECU: "OBC",
|
|
SupplierSWVersion: "PDUVersion",
|
|
},
|
|
}
|
|
|
|
ecus, err = fv.FindCarECUsToUpdateForNextFlashpackNumber(&mockCars, car, "44.14")
|
|
|
|
assert.Nil(t, err)
|
|
assert.Equal(t, []common.CarECUVersion{
|
|
{
|
|
CarECUName: "ADAS",
|
|
CarECUVersion: "ADASVersion1",
|
|
},
|
|
{
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersionA",
|
|
},
|
|
{
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersionB",
|
|
},
|
|
}, ecus)
|
|
}
|
|
|
|
func setupMockCars() mocks.MockCars {
|
|
return mocks.MockCars{
|
|
SelectResponse: &common.Car{VIN: "FISKER123", ICCID: "1111111111111111111F"},
|
|
SelectCarSettings: []common.CarSetting{},
|
|
SelectCarFlashpackVersions: []common.CarFlashpackVersion{
|
|
|
|
// 46.14
|
|
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "46.14",
|
|
CarECUName: "ADAS",
|
|
CarECUVersion: "ADASVersion2",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "46.14",
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersionA",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "46.14",
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersionB",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "46.14",
|
|
CarECUName: "BCM",
|
|
CarECUVersion: "BCMVersion",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "46.14",
|
|
CarECUName: "PDI",
|
|
CarECUVersion: "PDIVersion",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "46.14",
|
|
CarECUName: "PDU",
|
|
CarECUVersion: "PDUVersion",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "46.14",
|
|
CarECUName: "TBOX",
|
|
CarECUVersion: "TBOXVersion",
|
|
},
|
|
|
|
// 44.14
|
|
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "44.14",
|
|
CarECUName: "ADAS",
|
|
CarECUVersion: "ADASVersion1",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "44.14",
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersionA",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "44.14",
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersionB",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "44.14",
|
|
CarECUName: "BCM",
|
|
CarECUVersion: "BCMVersion",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "44.14",
|
|
CarECUName: "PDI",
|
|
CarECUVersion: "PDIVersion",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "44.14",
|
|
CarECUName: "PDU",
|
|
CarECUVersion: "PDUVersion",
|
|
},
|
|
|
|
// 41.14
|
|
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "41.14",
|
|
CarECUName: "ADAS",
|
|
CarECUVersion: "ADASVersion",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "41.14",
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersion",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "41.14",
|
|
CarECUName: "BCM",
|
|
CarECUVersion: "BCMVersion",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "41.14",
|
|
CarECUName: "PDI",
|
|
CarECUVersion: "PDIVersion",
|
|
},
|
|
|
|
// 39.14
|
|
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "39.14",
|
|
CarECUName: "ADAS",
|
|
CarECUVersion: "ADASVersion0",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "39.14",
|
|
CarECUName: "ACUN",
|
|
CarECUVersion: "ACUNVersion0",
|
|
},
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "39.14",
|
|
CarECUName: "PDI",
|
|
CarECUVersion: "PDIVersion",
|
|
},
|
|
|
|
// 37.14
|
|
|
|
{
|
|
CarModel: "Ocean",
|
|
CarTrim: "Base",
|
|
CarYear: 2023,
|
|
Flashpack: "37.14",
|
|
CarECUName: "PDI",
|
|
CarECUVersion: "PDIVersion",
|
|
},
|
|
},
|
|
}
|
|
}
|