Test can now register a user and log in.

main
Zed A. Shaw 1 week ago
parent a22682878c
commit 35d1b06a79
  1. 4
      api/controllers.go
  2. 86
      tests/base_test.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/")

@ -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")
}

Loading…
Cancel
Save