205 lines
4.3 KiB
Go
205 lines
4.3 KiB
Go
package common_test
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"fiskerinc.com/modules/common"
|
|
"fiskerinc.com/modules/common/dbbasemodel"
|
|
"fiskerinc.com/modules/testhelper"
|
|
"github.com/google/uuid"
|
|
"fiskerinc.com/modules/utils/elptr"
|
|
)
|
|
|
|
func TestMobileTXMessages(t *testing.T) {
|
|
schema := "file://" + testhelper.GetSchemaDirPath() + "/mobile/TXMessage.json"
|
|
now := time.Now()
|
|
|
|
tests := []testhelper.SchemaTest{
|
|
{
|
|
Name: "TestTRexRemoteCommand",
|
|
Object: common.Message{
|
|
Handler: "remote_command",
|
|
Data: common.RemoteCommandRequest{
|
|
VIN: "1F15K3R45N1234567",
|
|
RemoteCommandSource: common.RemoteCommandSource{
|
|
Command: "temp_cabin",
|
|
Data: elptr.ElPtr("20"),
|
|
Start: elptr.ElPtr(time.Date(
|
|
2020, 1, 1,
|
|
0, 0, 0, 0, time.UTC)),
|
|
End: elptr.ElPtr(time.Date(
|
|
2020, 1, 1,
|
|
0, 0, 0, 0, time.UTC)),
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobileCarLocationsRequest",
|
|
Object: common.Message{
|
|
Handler: "car_locations",
|
|
Data: nil,
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobileDigitalTwinRequest",
|
|
Object: common.Message{
|
|
Handler: "digital_twin",
|
|
Data: common.DigitalTwinRequest{
|
|
VIN: "1F15K3R45N1234567",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobileMapDestinationRequest",
|
|
Object: common.Message{
|
|
Handler: "map_destination",
|
|
Data: common.MapDestinationRequest{
|
|
VIN: "1F15K3R45N1234567",
|
|
Name: "Fisker Inc",
|
|
Address: &common.TomTomAddress{
|
|
StreetNumber: "3030",
|
|
StreetName: "17th St",
|
|
LocalName: "San Francisco",
|
|
PostalCode: "94110",
|
|
CountrySubdivisionName: "California",
|
|
CountryCodeIso3: "USA",
|
|
},
|
|
Coordinates: common.MapCoordinates{
|
|
Latitude: 37.0,
|
|
Longitude: -122.0,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobileMapRouteRequest",
|
|
Object: common.Message{
|
|
Handler: "map_route",
|
|
Data: common.MapRouteRequest{
|
|
VIN: "1F15K3R45N1234567",
|
|
Waypoints: []common.MapWaypoint{
|
|
{
|
|
Type: "Restaurant",
|
|
Title: "Test Restaurant",
|
|
MapCoordinates: common.MapCoordinates{
|
|
Latitude: 111,
|
|
Longitude: 222,
|
|
},
|
|
},
|
|
{
|
|
Type: "Park",
|
|
Title: "Test Park",
|
|
MapCoordinates: common.MapCoordinates{
|
|
Latitude: 333.333,
|
|
Longitude: 444.444,
|
|
},
|
|
},
|
|
},
|
|
Route: []common.MapCoordinates{
|
|
{
|
|
Latitude: 123,
|
|
Longitude: 456,
|
|
},
|
|
{
|
|
Latitude: 999,
|
|
Longitude: 888,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobileProfilesRequest",
|
|
Object: common.Message{
|
|
Handler: "profiles",
|
|
Data: nil,
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobileSettingsUpdate",
|
|
Object: common.Message{
|
|
Handler: "settings_update",
|
|
Data: common.MobileSettingsUpdate{
|
|
VIN: "1F15K3R45N1234567",
|
|
Settings: []common.CarSetting{{
|
|
Name: "TESTSETTING",
|
|
Value: "TESTVALUE",
|
|
Type: "string",
|
|
DBModelBase: dbbasemodel.DBModelBase{
|
|
UpdatedAt: &now,
|
|
},
|
|
}},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Name: "TestStoreInventoryRequest",
|
|
Object: common.Message{
|
|
Handler: "store_inventory",
|
|
Data: nil,
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobileStorePurchase",
|
|
Object: common.Message{
|
|
Handler: "store_purchase",
|
|
Data: common.StorePurchases{
|
|
VIN: "1F15K3R45N1234567",
|
|
Purchases: []common.StorePurchaseItem{{
|
|
ID: uuid.New(),
|
|
}},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Name: "TestHMIPOIs",
|
|
Object: common.Message{
|
|
Handler: "user_pois_get",
|
|
},
|
|
},
|
|
{
|
|
Name: "TestHMIPOICreate",
|
|
Object: common.Message{
|
|
Handler: "user_poi_create",
|
|
Data: common.PointOfInterest{
|
|
Name: "TestPOI",
|
|
Location: common.POILocation{
|
|
Latitude: 1.23,
|
|
Longitude: 4.56,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobilePOIEdit",
|
|
Object: common.Message{
|
|
Handler: "user_poi_edit",
|
|
Data: common.MobilePOIEditMessage{
|
|
OldName: "TestPOI",
|
|
UserPOI: common.PointOfInterest{
|
|
Name: "TestPOI",
|
|
Location: common.POILocation{
|
|
Latitude: 8.88,
|
|
Longitude: 9.99,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
Name: "TestMobilePOIDelete",
|
|
Object: common.Message{
|
|
Handler: "user_poi_delete",
|
|
Data: common.MobilePOIDeleteMessage{
|
|
Name: "TestPOI",
|
|
},
|
|
},
|
|
},
|
|
}
|
|
|
|
testhelper.NewSchemaTestHelper(t, schema).
|
|
RunSchemaTests(tests)
|
|
}
|