fix: unit tests

This commit is contained in:
Leon Mika 2026-03-18 22:19:26 +11:00
parent 9efa40879f
commit 740cf8979a
6 changed files with 16 additions and 264 deletions

View file

@ -98,6 +98,7 @@ func TestProvider_Sites(t *testing.T) {
t.Run("select site by id", func(t *testing.T) {
site := &models.Site{
OwnerID: user.ID,
GUID: models.NewNanoID(),
Title: "Lookup Blog",
Tagline: "Find me by ID",
}
@ -143,10 +144,11 @@ func TestProvider_Posts(t *testing.T) {
require.NoError(t, p.SaveSite(ctx, site))
t.Run("save and select posts", func(t *testing.T) {
guid := models.NewNanoID()
now := time.Date(2026, 2, 19, 12, 0, 0, 0, time.UTC)
post := &models.Post{
SiteID: site.ID,
GUID: "post-001",
GUID: guid,
Title: "First Post",
Body: "Hello world",
Slug: "/2026/02/19/first-post",
@ -158,12 +160,12 @@ func TestProvider_Posts(t *testing.T) {
require.NoError(t, err)
assert.NotZero(t, post.ID)
posts, err := p.SelectPostsOfSite(ctx, site.ID, false, db.PagingParams{})
posts, err := p.SelectPostsOfSite(ctx, site.ID, false, db.PagingParams{Limit: 10, Offset: 0})
require.NoError(t, err)
require.Len(t, posts, 1)
assert.Equal(t, post.ID, posts[0].ID)
assert.Equal(t, site.ID, posts[0].SiteID)
assert.Equal(t, "post-001", posts[0].GUID)
assert.Equal(t, guid, posts[0].GUID)
assert.Equal(t, "First Post", posts[0].Title)
assert.Equal(t, "Hello world", posts[0].Body)
assert.Equal(t, "/2026/02/19/first-post", posts[0].Slug)
@ -173,8 +175,10 @@ func TestProvider_Posts(t *testing.T) {
t.Run("posts ordered by created_at desc", func(t *testing.T) {
// Create a second site to isolate this test
guid := models.NewNanoID()
site2 := &models.Site{
OwnerID: user.ID,
GUID: models.NewNanoID(),
Title: "Second Blog",
Tagline: "",
}
@ -185,7 +189,7 @@ func TestProvider_Posts(t *testing.T) {
post1 := &models.Post{
SiteID: site2.ID,
GUID: "old-post",
GUID: guid,
Title: "Old Post",
Body: "old",
Slug: "/old",
@ -194,7 +198,7 @@ func TestProvider_Posts(t *testing.T) {
}
post2 := &models.Post{
SiteID: site2.ID,
GUID: "new-post",
GUID: models.NewNanoID(),
Title: "New Post",
Body: "new",
Slug: "/new",
@ -205,7 +209,7 @@ func TestProvider_Posts(t *testing.T) {
require.NoError(t, p.SavePost(ctx, post1))
require.NoError(t, p.SavePost(ctx, post2))
posts, err := p.SelectPostsOfSite(ctx, site2.ID, false, db.PagingParams{})
posts, err := p.SelectPostsOfSite(ctx, site2.ID, false, db.PagingParams{Limit: 10, Offset: 0})
require.NoError(t, err)
require.Len(t, posts, 2)
assert.Equal(t, "New Post", posts[0].Title)
@ -215,6 +219,7 @@ func TestProvider_Posts(t *testing.T) {
t.Run("select posts for site with no posts", func(t *testing.T) {
emptySite := &models.Site{
OwnerID: user.ID,
GUID: models.NewNanoID(),
Title: "Empty Blog",
Tagline: "",
}
@ -239,6 +244,7 @@ func TestProvider_PublishTargets(t *testing.T) {
site := &models.Site{
OwnerID: user.ID,
GUID: models.NewNanoID(),
Title: "My Blog",
Tagline: "A test blog",
}
@ -272,6 +278,7 @@ func TestProvider_PublishTargets(t *testing.T) {
t.Run("select targets for site with no targets", func(t *testing.T) {
emptySite := &models.Site{
OwnerID: user.ID,
GUID: models.NewNanoID(),
Title: "No Targets",
Tagline: "",
}