flamenco/internal/manager/persistence/last_rendered_test.go
Sybren A. Stüvel 3f4a9025fe Manager tests: replace assert.NoError() with require.NoError()
Back in the days when I wrote the code, I didn't know about the
`require` package yet. Using `require.NoError()` makes the test code
more straight-forward.

No functional changes, except that when tests fail, they now fail
without panicking.
2024-03-16 11:09:18 +01:00

68 lines
1.8 KiB
Go

package persistence
// SPDX-License-Identifier: GPL-3.0-or-later
import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestSetLastRendered(t *testing.T) {
ctx, close, db, job1, _ := jobTasksTestFixtures(t)
defer close()
authoredJob2 := authorTestJob("1295757b-e668-4c49-8b89-f73db8270e42", "just-a-job")
job2 := persistAuthoredJob(t, ctx, db, authoredJob2)
require.NoError(t, db.SetLastRendered(ctx, job1))
{
entries := []LastRendered{}
db.gormDB.Model(&LastRendered{}).Scan(&entries)
if assert.Len(t, entries, 1) {
assert.Equal(t, job1.ID, entries[0].JobID, "job 1 should be the last-rendered one")
}
}
require.NoError(t, db.SetLastRendered(ctx, job2))
{
entries := []LastRendered{}
db.gormDB.Model(&LastRendered{}).Scan(&entries)
if assert.Len(t, entries, 1) {
assert.Equal(t, job2.ID, entries[0].JobID, "job 2 should be the last-rendered one")
}
}
}
func TestGetLastRenderedJobUUID(t *testing.T) {
ctx, close, db, job1, _ := jobTasksTestFixtures(t)
defer close()
{
// Test without any renders.
lastUUID, err := db.GetLastRenderedJobUUID(ctx)
require.NoError(t, err, "absence of renders should not cause an error")
assert.Empty(t, lastUUID)
}
{
// Test with first render.
require.NoError(t, db.SetLastRendered(ctx, job1))
lastUUID, err := db.GetLastRenderedJobUUID(ctx)
require.NoError(t, err)
assert.Equal(t, job1.UUID, lastUUID)
}
{
// Test with 2nd or subsequent render.
authoredJob2 := authorTestJob("1295757b-e668-4c49-8b89-f73db8270e42", "just-a-job")
job2 := persistAuthoredJob(t, ctx, db, authoredJob2)
require.NoError(t, db.SetLastRendered(ctx, job2))
lastUUID, err := db.GetLastRenderedJobUUID(ctx)
require.NoError(t, err)
assert.Equal(t, job2.UUID, lastUUID)
}
}