chore: add test

This commit is contained in:
andig 2025-08-14 09:28:06 +02:00
parent 9125e113a3
commit 6b14b99ea9
2 changed files with 28 additions and 2 deletions

View file

@ -81,9 +81,9 @@ type runnable interface {
func runOrError[T any, I interface {
*T
runnable
}](t *T) (*T, error) {
}](t I) (*T, error) {
done := make(chan error)
go I(t).run(done)
go t.run(done)
if err := <-done; err != nil {
return nil, err

View file

@ -1,6 +1,7 @@
package tariff
import (
"errors"
"testing"
"time"
@ -55,3 +56,28 @@ func TestMergeRatesAfter(t *testing.T) {
assert.Equal(t, tc.expected, res)
}
}
type runner struct {
res error
}
func (r *runner) run(done chan error) {
if r.res == nil {
close(done)
} else {
done <- r.res
}
}
func TestRunOrQError(t *testing.T) {
{
res, err := runOrError(&runner{nil})
require.NoError(t, err)
require.NotNil(t, res)
}
{
res, err := runOrError(&runner{errors.New("foo")})
require.Error(t, err)
require.Nil(t, res)
}
}