Fixed unit tests
This commit is contained in:
parent
cc7ead496f
commit
46a430f58f
|
@ -44,10 +44,6 @@ func TestTableWriteController_NewItem(t *testing.T) {
|
|||
|
||||
func TestTableWriteController_SetAttributeValue(t *testing.T) {
|
||||
t.Run("should preserve the type of the field if unspecified", func(t *testing.T) {
|
||||
client := testdynamo.SetupTestTable(t, testData)
|
||||
|
||||
provider := dynamo.NewProvider(client)
|
||||
service := tables.NewService(provider)
|
||||
|
||||
scenarios := []struct {
|
||||
attrKey string
|
||||
|
@ -78,6 +74,11 @@ func TestTableWriteController_SetAttributeValue(t *testing.T) {
|
|||
|
||||
for _, scenario := range scenarios {
|
||||
t.Run(fmt.Sprintf("should set value of field: %v", scenario.attrKey), func(t *testing.T) {
|
||||
client := testdynamo.SetupTestTable(t, testData)
|
||||
|
||||
provider := dynamo.NewProvider(client)
|
||||
service := tables.NewService(provider)
|
||||
|
||||
state := controllers.NewState()
|
||||
readController := controllers.NewTableReadController(state, service, "alpha-table")
|
||||
writeController := controllers.NewTableWriteController(state, service, readController)
|
||||
|
@ -89,26 +90,27 @@ func TestTableWriteController_SetAttributeValue(t *testing.T) {
|
|||
assert.Equal(t, scenario.expected, after)
|
||||
assert.True(t, state.ResultSet().IsDirty(0))
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("should use type of selected item for marked fields if unspecified", func(t *testing.T) {
|
||||
client := testdynamo.SetupTestTable(t, testData)
|
||||
|
||||
provider := dynamo.NewProvider(client)
|
||||
service := tables.NewService(provider)
|
||||
|
||||
t.Run(fmt.Sprintf("should set value of marked fields: %v", scenario.attrKey), func(t *testing.T) {
|
||||
state := controllers.NewState()
|
||||
readController := controllers.NewTableReadController(state, service, "alpha-table")
|
||||
writeController := controllers.NewTableWriteController(state, service, readController)
|
||||
|
||||
invokeCommand(t, readController.Init())
|
||||
invokeCommand(t, writeController.ToggleMark(0))
|
||||
invokeCommand(t, writeController.ToggleMark(2))
|
||||
invokeCommandWithPrompt(t, writeController.SetAttributeValue(1, models.UnsetItemType, scenario.attrKey), scenario.attrValue)
|
||||
invokeCommandWithPrompt(t, writeController.SetAttributeValue(1, models.UnsetItemType, "alpha"), "a brand new value")
|
||||
|
||||
after1, _ := state.ResultSet().Items()[0][scenario.attrKey]
|
||||
assert.Equal(t, scenario.expected, after1)
|
||||
after1 := state.ResultSet().Items()[0]["alpha"].(*types.AttributeValueMemberS).Value
|
||||
assert.Equal(t, "a brand new value", after1)
|
||||
assert.True(t, state.ResultSet().IsDirty(0))
|
||||
|
||||
after2, _ := state.ResultSet().Items()[2][scenario.attrKey]
|
||||
assert.Equal(t, scenario.expected, after2)
|
||||
assert.True(t, state.ResultSet().IsDirty(2))
|
||||
})
|
||||
}
|
||||
assert.False(t, state.ResultSet().IsDirty(1))
|
||||
})
|
||||
|
||||
t.Run("should change the value to a particular field if already present", func(t *testing.T) {
|
||||
|
|
Loading…
Reference in a new issue