github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/internal/model/version_test.go (about)

     1  package model_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/kyma-incubator/compass/components/director/internal/model"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestVersionInput_ToVersion(t *testing.T) {
    11  	// GIVEN
    12  	value := "foo"
    13  	deprecated := true
    14  	deprecatedSince := "bar"
    15  	forRemoval := false
    16  
    17  	testCases := []struct {
    18  		Name     string
    19  		Input    *model.VersionInput
    20  		Expected *model.Version
    21  	}{
    22  		{
    23  			Name: "All properties given",
    24  			Input: &model.VersionInput{
    25  				Value:           value,
    26  				Deprecated:      &deprecated,
    27  				DeprecatedSince: &deprecatedSince,
    28  				ForRemoval:      &forRemoval,
    29  			},
    30  			Expected: &model.Version{
    31  				Value:           value,
    32  				Deprecated:      &deprecated,
    33  				DeprecatedSince: &deprecatedSince,
    34  				ForRemoval:      &forRemoval,
    35  			},
    36  		},
    37  		{
    38  			Name:     "Nil",
    39  			Input:    nil,
    40  			Expected: nil,
    41  		},
    42  	}
    43  
    44  	for _, testCase := range testCases {
    45  		t.Run(testCase.Name, func(t *testing.T) {
    46  			// WHEN
    47  			result := testCase.Input.ToVersion()
    48  
    49  			// THEN
    50  			assert.Equal(t, testCase.Expected, result)
    51  		})
    52  	}
    53  }