//go:build integration package sql import ( "testing" "git.sr.ht/~gabrielgio/img/pkg/database/repository" "git.sr.ht/~gabrielgio/img/pkg/testkit" ) func TestSaveLoad(t *testing.T) { db, tearDown := setup(t) defer tearDown() settingsRepository := NewSettingsRespository(db) // testing saving once want := &repository.Settings{ ShowMode: true, ShowOwner: true, } err := settingsRepository.Save(ctx, want) testkit.TestFatalError(t, "Save", err) got, err := settingsRepository.Load(ctx) testkit.TestFatalError(t, "Save", err) testkit.TestValue(t, "Save", want, got) // testing saving a second time want = &repository.Settings{ ShowMode: false, ShowOwner: false, } err = settingsRepository.Save(ctx, want) testkit.TestFatalError(t, "Save", err) got, err = settingsRepository.Load(ctx) testkit.TestFatalError(t, "Save", err) testkit.TestValue(t, "Save", want, got) }