package memdb import ( "cosmos-test/x/cosmostest/types" "testing" "github.com/dgraph-io/badger/v3" ) func TestBasicFlow(t *testing.T) { // this should panic if there's a problem BidDB.Mount() // add a bid if err := BidDB.AddBid("0", &types.Bid{Owner: "cosmos123", Amount: "100"}); err != nil { panic(err) } // add a higher bid (db funcs won't check amount, though) if err := BidDB.AddBid("0", &types.Bid{Owner: "cosmos456", Amount: "200"}); err != nil { panic(err) } // check highest bid if bid, err := BidDB.GetHighestBid("0"); err != nil { panic(err) } else { if bid.Owner != "cosmos456" || bid.Amount != "200" { panic("Highest auction item not selected") } } // clear auction under id 0 if err := BidDB.ClearAuction("0"); err != nil { panic(err) } else { // expect auction key to be unknown if err := BidDB.db.View(func(txn *badger.Txn) error { _, err := txn.Get([]byte("0")) return err }); err != nil { if err != badger.ErrKeyNotFound { panic(err) } } } }