mirror of https://codeberg.org/forgejo/forgejo.git
Improved updated_time tests
This commit is contained in:
parent
28b31827c7
commit
13f2a1f0a6
|
@ -0,0 +1,72 @@
|
|||
package integration
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"path"
|
||||
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/PuerkitoBio/goquery"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestRepoLastUpdatedTime(t *testing.T) {
|
||||
onGiteaRun(t, func(t *testing.T, u *url.URL) {
|
||||
user := "user2"
|
||||
session := loginUser(t, user)
|
||||
|
||||
req := NewRequest(t, "GET", path.Join("explore", "repos"))
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
doc := NewHTMLParser(t, resp.Body)
|
||||
node := doc.doc.Find(".flex-item-body").First()
|
||||
|
||||
{
|
||||
buf := ""
|
||||
findTextNonNested(t, node, &buf)
|
||||
assert.Equal(t, "Updated", strings.TrimSpace(buf))
|
||||
}
|
||||
|
||||
// Relative time should be present as a descendent
|
||||
{
|
||||
l := node.Find("relative-time").Text()
|
||||
assert.Equal(t, true, strings.HasPrefix(l, "19")) // ~1970, might underflow with timezone
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestBranchLastUpdatedTime(t *testing.T) {
|
||||
onGiteaRun(t, func(t *testing.T, u *url.URL) {
|
||||
user := "user2"
|
||||
repo := "repo1"
|
||||
session := loginUser(t, user)
|
||||
|
||||
req := NewRequest(t, "GET", path.Join(user, repo, "branches"))
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
doc := NewHTMLParser(t, resp.Body)
|
||||
node := doc.doc.Find("p:has(span.commit-message)")
|
||||
|
||||
{
|
||||
buf := ""
|
||||
findTextNonNested(t, node, &buf)
|
||||
assert.Equal(t, true, strings.Contains(buf, "Updated"))
|
||||
}
|
||||
|
||||
{
|
||||
relative_time := node.Find("relative-time").Text()
|
||||
assert.Equal(t, true, strings.HasPrefix(relative_time, "2017"))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Find all text that are direct descendents
|
||||
func findTextNonNested(t *testing.T, n *goquery.Selection, buf *string) {
|
||||
t.Helper()
|
||||
|
||||
n.Contents().Each(func(i int, s *goquery.Selection) {
|
||||
if goquery.NodeName(s) == "#text" {
|
||||
*buf += s.Text()
|
||||
}
|
||||
})
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
package integration
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"path"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestRepoUpdatedTime(t *testing.T) {
|
||||
onGiteaRun(t, func(t *testing.T, u *url.URL) {
|
||||
user := "user2"
|
||||
session := loginUser(t, user)
|
||||
|
||||
req := NewRequest(t, "GET", path.Join(user))
|
||||
resp := session.MakeRequest(t, req, http.StatusOK)
|
||||
doc := NewHTMLParser(t, resp.Body)
|
||||
text := strings.TrimSpace(doc.doc.Find(".flex-item-body").First().Text())
|
||||
|
||||
assert.Equal(t, "Updated 1970-01-01 01:00:00 +01:00", text)
|
||||
})
|
||||
}
|
Loading…
Reference in New Issue