diff --git a/api/controllers.go b/api/controllers.go index 77c8cee..0fcf5f9 100644 --- a/api/controllers.go +++ b/api/controllers.go @@ -60,7 +60,7 @@ func PostApiRegister(c *fiber.Ctx) error { Columns("username", "email", "password"). Values(user.Username, user.Email, user.Password).ToSql() - err = data.Insert(err, sql, args...) + err = data.Exec(err, sql, args...) if err != nil { return IfErrNil(err, c) } return c.Redirect("/login/") @@ -100,7 +100,7 @@ func PostApiLink(c *fiber.Ctx) error { Columns("stream_id", "url", "description"). Values(link.StreamId, link.Url, link.Description).ToSql() - err = data.Insert(err, sql, args...) + err = data.Exec(err, sql, args...) if(err != nil) { goto fail } return c.Redirect("/live/") diff --git a/tests/base_test.go b/tests/base_test.go index f10a642..59b43c3 100644 --- a/tests/base_test.go +++ b/tests/base_test.go @@ -1,49 +1,71 @@ package tests import ( - "testing" - "github.com/stretchr/testify/assert" - browser "github.com/chromedp/chromedp" + "testing" + "github.com/stretchr/testify/assert" + browser "github.com/chromedp/chromedp" + "zedshaw.games/webapp/data" + sq "github.com/Masterminds/squirrel" ) +func deleteTestUser(username string) { + sql, args, err := sq.Delete("user").Where("username=?", username).ToSql() + data.Exec(err, sql, args...) +} + func TestLogin(t *testing.T) { - assert := assert.New(t) - - ctx, cancel := Setup(5); defer cancel() - - Run(assert, ctx, - browser.Navigate(`http://127.0.0.1:5002/login/`), - browser.WaitVisible(`body > footer`), - browser.WaitVisible(`[data-testid="login-page"]`), - browser.SendKeys(`#username`, `zedshaw`), - browser.SendKeys(`#password`, `1234`), - browser.Click(`#login-submit`, browser.NodeVisible), - browser.WaitVisible(`body > footer`), - browser.WaitVisible(`[data-testid="home-page"]`)) + assert := assert.New(t) + data.Setup("sqlite3", "./db.sqlite3") + deleteTestUser("testerzed") + + ctx, cancel := Setup(5); defer cancel() + + Run(assert, ctx, + browser.Navigate(`http://127.0.0.1:5002/register/`), + browser.WaitVisible(`body > footer`), + browser.WaitVisible(`[data-testid="register-page"]`), + browser.SendKeys(`#username`, `testerzed`), + browser.SendKeys(`#email`, `zed@test.com`), + browser.SendKeys(`#password`, `iamdumb`), + browser.Click(`#register-submit`, browser.NodeVisible), + browser.WaitVisible(`body > footer`), + browser.WaitVisible(`[data-testid="login-page"]`)) + + Run(assert, ctx, + browser.Navigate(`http://127.0.0.1:5002/login/`), + browser.WaitVisible(`body > footer`), + browser.WaitVisible(`[data-testid="login-page"]`), + browser.SendKeys(`#username`, `testerzed`), + browser.SendKeys(`#password`, `iamdumb`), + browser.Click(`#login-submit`, browser.NodeVisible), + browser.WaitVisible(`body > footer`), + browser.WaitVisible(`[data-testid="home-page"]`)) + + /// delete the user here + deleteTestUser("testerzed") } func TestStreamPage(t *testing.T) { - assert := assert.New(t) + assert := assert.New(t) - ctx, cancel := Setup(2); - defer cancel(); + ctx, cancel := Setup(2); + defer cancel(); - var title string + var title string - err := browser.Run(ctx, - browser.Navigate(`http://127.0.0.1:5002`), - browser.WaitVisible(`body > footer`), - browser.WaitVisible(`#streams`), - ) - assert.NoError(err) + err := browser.Run(ctx, + browser.Navigate(`http://127.0.0.1:5002`), + browser.WaitVisible(`body > footer`), + browser.WaitVisible(`#streams`),) + assert.NoError(err) - ClickOn(assert, ctx, `#streams`) + ClickOn(assert, ctx, `#streams`) - err = browser.Run(ctx, browser.WaitVisible(`#streams-title`)) - assert.NoError(err) + err = browser.Run(ctx, browser.WaitVisible(`#streams-title`)) + assert.NoError(err) - err = browser.Run(ctx, browser.Text(`#streams-title`, &title)) - assert.NoError(err) + err = browser.Run(ctx, browser.Text(`#streams-title`, &title)) + assert.NoError(err) - assert.Equal(title, "Past Streams") + assert.Equal(title, "Past Streams") }