package store_test import ( "gitea.deepak.science/deepak/gogmagog/models" "gitea.deepak.science/deepak/gogmagog/store" "github.com/stretchr/testify/assert" "testing" ) func TestInMemoryActionMethods(t *testing.T) { assert := assert.New(t) str, _ := store.GetInMemoryStore() sampleplanid := 8 act := &models.Action{} a2 := &models.Action{PlanID: sampleplanid} id, _ := str.InsertAction(act) assert.EqualValues(1, id) receivedAction, err := str.SelectActionByID(id) assert.Nil(err) assert.EqualValues(act, receivedAction) allactions, err := str.SelectActions() assert.Nil(err) assert.EqualValues(1, len(allactions)) str.InsertAction(a2) allactions, err = str.SelectActions() assert.Nil(err) assert.EqualValues(2, len(allactions)) planactions, err := str.SelectActionsByPlanID(&models.Plan{PlanID: int64(sampleplanid)}) assert.Nil(err) assert.EqualValues(1, len(planactions)) assert.Equal(a2, planactions[0]) _, err = str.SelectActionByID(151) assert.NotNil(err) sampleDescription := "snth" replacementAction := &models.Action{ActionID: 1, ActionDescription: sampleDescription} err = str.UpdateAction(replacementAction) assert.Nil(err) assert.Equal(sampleDescription, act.ActionDescription) replacementAction = &models.Action{ActionID: 1235122, ActionDescription: sampleDescription} err = str.UpdateAction(replacementAction) assert.NotNil(err) } func TestInMemoryPlanMethods(t *testing.T) { assert := assert.New(t) str, _ := store.GetInMemoryStore() userID := 1 p := &models.Plan{} plans, err := str.SelectPlans(userID) assert.Nil(err) assert.EqualValues(0, len(plans)) id, err := str.InsertPlan(p, userID) plans, err = str.SelectPlans(userID) assert.Nil(err) assert.EqualValues(1, len(plans)) retrievedPlan, err := str.SelectPlanByID(id, userID) assert.Nil(err) assert.Equal(retrievedPlan, p) _, err = str.SelectPlanByID(135135, userID) assert.NotNil(err) } func TestLive(t *testing.T) { assert := assert.New(t) str, _ := store.GetInMemoryStore() err := str.ConnectionLive() assert.Nil(err) } func TestInMemoryUserMethods(t *testing.T) { assert := assert.New(t) str, _ := store.GetInMemoryStore() uname := "hiimauser" u := &models.User{Username: uname} id, err := str.InsertUser(u) assert.Nil(err) retrievedUser, err := str.SelectUserByUsername(uname) assert.Nil(err) assert.EqualValues(id, retrievedUser.UserID) _, err = str.SelectUserByUsername("bad username") assert.NotNil(err) }