package observability
import (
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestSessionTimer(t *testing.T) {
t.Run("advance 100ms", func(t *testing.T) {
ts := time.Now()
st := NewSessionTimer(ts)
millis, mins := st.Advance(ts.Add(100 * time.Millisecond))
require.EqualValues(t, 100, millis)
require.EqualValues(t, 1, mins)
millis, mins = st.Advance(ts.Add(200 * time.Millisecond))
require.EqualValues(t, 100, millis)
require.EqualValues(t, 0, mins)
})
t.Run("advance 2.5m", func(t *testing.T) {
ts := time.Now()
st := NewSessionTimer(ts)
millis, mins := st.Advance(ts.Add(150 * time.Second))
require.EqualValues(t, 150000, millis)
require.EqualValues(t, 3, mins)
})
}