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

     1  package bundlereferences_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/kyma-incubator/compass/components/director/internal/domain/bundlereferences"
     7  	"github.com/stretchr/testify/assert"
     8  	"github.com/stretchr/testify/require"
     9  )
    10  
    11  func TestEntityConverter_ToEntity(t *testing.T) {
    12  	t.Run("success for API BundleReference", func(t *testing.T) {
    13  		// GIVEN
    14  		apiBundleReferenceModel := fixAPIBundleReferenceModel()
    15  		conv := bundlereferences.NewConverter()
    16  
    17  		// WHEN
    18  		entity := conv.ToEntity(apiBundleReferenceModel)
    19  
    20  		// THEN
    21  		assert.Equal(t, fixAPIBundleReferenceEntity(), entity)
    22  	})
    23  	t.Run("success for Event BundleReference", func(t *testing.T) {
    24  		// GIVEN
    25  		eventBundleReferenceModel := fixEventBundleReferenceModel()
    26  		conv := bundlereferences.NewConverter()
    27  
    28  		// WHEN
    29  		entity := conv.ToEntity(eventBundleReferenceModel)
    30  
    31  		// THEN
    32  		assert.Equal(t, fixEventBundleReferenceEntity(), entity)
    33  	})
    34  }
    35  
    36  func TestEntityConverter_FromEntity(t *testing.T) {
    37  	t.Run("success for API BundleReference", func(t *testing.T) {
    38  		// GIVEN
    39  		apiBundleReferenceEntity := fixAPIBundleReferenceEntity()
    40  		conv := bundlereferences.NewConverter()
    41  
    42  		// WHEN
    43  		model, err := conv.FromEntity(apiBundleReferenceEntity)
    44  
    45  		// THEN
    46  		assert.NoError(t, err)
    47  		assert.Equal(t, fixAPIBundleReferenceModel(), model)
    48  	})
    49  	t.Run("error for API BundleReference", func(t *testing.T) {
    50  		// GIVEN
    51  		invalidAPIBundleReferenceEntity := fixInvalidAPIBundleReferenceEntity()
    52  		conv := bundlereferences.NewConverter()
    53  
    54  		// WHEN
    55  		_, err := conv.FromEntity(invalidAPIBundleReferenceEntity)
    56  
    57  		// THEN
    58  		require.Error(t, err)
    59  		assert.Contains(t, err.Error(), "while determining object reference")
    60  	})
    61  	t.Run("success for Event BundleReference", func(t *testing.T) {
    62  		// GIVEN
    63  		eventBundleReferenceEntity := fixEventBundleReferenceEntity()
    64  		conv := bundlereferences.NewConverter()
    65  
    66  		// WHEN
    67  		model, err := conv.FromEntity(eventBundleReferenceEntity)
    68  
    69  		// THEN
    70  		assert.NoError(t, err)
    71  		assert.Equal(t, fixEventBundleReferenceModel(), model)
    72  	})
    73  	t.Run("error for Event BundleReference", func(t *testing.T) {
    74  		// GIVEN
    75  		invalidEventBundleReferenceEntity := fixInvalidEventBundleReferenceEntity()
    76  		conv := bundlereferences.NewConverter()
    77  
    78  		// WHEN
    79  		_, err := conv.FromEntity(invalidEventBundleReferenceEntity)
    80  
    81  		// THEN
    82  		require.Error(t, err)
    83  		assert.Contains(t, err.Error(), "while determining object reference")
    84  	})
    85  }