github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/model/app_template_version_test.go (about) 1 package model_test 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "testing" 7 8 "github.com/kyma-incubator/compass/components/director/internal/model" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestApplicationTemplateVersionInput_ToApplicationTemplateVersion(t *testing.T) { 13 // GIVEN 14 version := "2306" 15 title := "Release 2306" 16 releaseDate := "2023-06-21T06:42:08+00:00" 17 correlationIDs := json.RawMessage("[]") 18 testID := "id-1" 19 appTemplateID := "id-2" 20 21 testCases := []struct { 22 Name string 23 Input *model.ApplicationTemplateVersionInput 24 Expected model.ApplicationTemplateVersion 25 }{ 26 { 27 Name: "All properties given", 28 Input: &model.ApplicationTemplateVersionInput{ 29 Version: version, 30 Title: &title, 31 ReleaseDate: &releaseDate, 32 CorrelationIDs: correlationIDs, 33 }, 34 Expected: model.ApplicationTemplateVersion{ 35 ID: testID, 36 Version: version, 37 Title: &title, 38 ReleaseDate: &releaseDate, 39 CorrelationIDs: correlationIDs, 40 ApplicationTemplateID: appTemplateID, 41 }, 42 }, 43 { 44 Name: "Nil", 45 Input: nil, 46 Expected: model.ApplicationTemplateVersion{}, 47 }, 48 } 49 50 for i, testCase := range testCases { 51 t.Run(fmt.Sprintf("%d: %s", i, testCase.Name), func(t *testing.T) { 52 // WHEN 53 result := testCase.Input.ToApplicationTemplateVersion(testID, appTemplateID) 54 55 // THEN 56 assert.Equal(t, testCase.Expected, result) 57 }) 58 } 59 }