package pagination import ( "github.com/stretchr/testify/assert" "net/url" "testing" ) func TestCreateHeader_FirstPage(t *testing.T) { u, _ := url.Parse("http://localhost:8080") header := CreateHeader(u, 95, 1, 10) assert.Equal(t, "; rel=\"last\",; rel=\"next\"", header) } func TestCreateHeader_LastPage(t *testing.T) { u, _ := url.Parse("http://localhost:8080") header := CreateHeader(u, 95, 10, 10) assert.Equal(t, "; rel=\"first\",; rel=\"prev\"", header) } func TestCreateHeader_MiddlePage(t *testing.T) { u, _ := url.Parse("http://localhost:8080") header := CreateHeader(u, 95, 4, 10) assert.Equal(t, "; rel=\"first\",; rel=\"last\",; rel=\"next\",; rel=\"prev\"", header) } func TestCreateHeader_TotalCountZero(t *testing.T) { u, _ := url.Parse("http://localhost:8080") header := CreateHeader(u, 0, 1, 10) assert.Equal(t, "; rel=\"first\"", header) } func TestCreateHeader_ItemsPerPageGreaterTotalCount(t *testing.T) { u, _ := url.Parse("http://localhost:8080") header := CreateHeader(u, 10, 1, 20) assert.Equal(t, "; rel=\"first\"", header) } func TestCreateHeader_UrlWithQuery(t *testing.T) { u, _ := url.Parse("http://localhost:8080?start_time=2022-09-12T12:48:48Z&end_time=2022-09-12T14:48:48Z") header := CreateHeader(u, 95, 1, 10) assert.Equal(t, "; rel=\"last\",; rel=\"next\"", header) }