github.com/evanlouie/fabrikate@v0.17.4/cmd/remove_test.go (about)

     1  package cmd
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/evanlouie/fabrikate/core"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestRemove(t *testing.T) {
    11  	root := core.Component{
    12  		Name: "root",
    13  	}
    14  	subcomponentC := core.Component{
    15  		Name: "subcomponentC",
    16  	}
    17  	subcomponentA := core.Component{
    18  		Name: "subcomponentA",
    19  	}
    20  	subcomponentB := core.Component{
    21  		Name: "subcomponentB",
    22  	}
    23  
    24  	assert.Nil(t, root.AddSubcomponent(subcomponentC, subcomponentA, subcomponentB))
    25  	assert.True(t, len(root.Subcomponents) == 3) // There should be 3 subcomponents
    26  
    27  	assert.Nil(t, root.RemoveSubcomponent(subcomponentB))
    28  	assert.True(t, len(root.Subcomponents) == 2)                  // There should be 2 subcomponents
    29  	assert.True(t, root.Subcomponents[0].Name == "subcomponentA") // "subcomponentA" should be first after sorting
    30  	assert.True(t, root.Subcomponents[1].Name == "subcomponentC") // "subcomponentC" should be second after sorting
    31  }