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  }