Skip to content

Commit 270cd94

Browse files
committed
test(state): cover class overwrite and GetStateObject happy path
1 parent dca0afe commit 270cd94

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

core/state/accessors_test.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,28 @@ func TestClassAccessors(t *testing.T) {
124124
assert.Equal(t, []*felt.Felt{felt.NewUnsafeFromString[felt.Felt]("0x1")}, sierra.Program)
125125
})
126126

127+
t.Run("overwrite reflects latest values", func(t *testing.T) {
128+
disk := memory.New()
129+
require.NoError(t, state.WriteClass(disk, classHash, newClass()))
130+
131+
updated := &core.DeclaredClassDefinition{
132+
At: 99,
133+
Class: &core.SierraClass{
134+
SemanticVersion: "0.2.0",
135+
Program: []*felt.Felt{felt.NewUnsafeFromString[felt.Felt]("0x2")},
136+
},
137+
}
138+
require.NoError(t, state.WriteClass(disk, classHash, updated))
139+
140+
got, err := state.GetClass(disk, classHash)
141+
require.NoError(t, err)
142+
assert.Equal(t, updated.At, got.At)
143+
sierra, ok := got.Class.(*core.SierraClass)
144+
require.True(t, ok)
145+
assert.Equal(t, "0.2.0", sierra.SemanticVersion)
146+
assert.Equal(t, []*felt.Felt{felt.NewUnsafeFromString[felt.Felt]("0x2")}, sierra.Program)
147+
})
148+
127149
t.Run("delete removes the class", func(t *testing.T) {
128150
disk := memory.New()
129151
require.NoError(t, state.WriteClass(disk, classHash, newClass()))
@@ -280,4 +302,18 @@ func TestGetStateObject(t *testing.T) {
280302
_, err := state.GetStateObject(disk, nil, addr)
281303
assert.ErrorIs(t, err, db.ErrKeyNotFound)
282304
})
305+
306+
t.Run("returns a state object for an existing contract", func(t *testing.T) {
307+
disk := memory.New()
308+
require.NoError(t, state.WriteContract(
309+
disk, addr,
310+
felt.UnsafeFromString[felt.Felt]("0x1"),
311+
felt.UnsafeFromString[felt.Felt]("0xabc"),
312+
42,
313+
))
314+
315+
obj, err := state.GetStateObject(disk, nil, addr)
316+
require.NoError(t, err)
317+
assert.NotNil(t, obj)
318+
})
283319
}

0 commit comments

Comments
 (0)