package handler

import (
	"testing"

	"github.com/stretchr/testify/assert"

	"github.com/pingcap/test-infra/common/model"
	htest "github.com/pingcap/test-infra/services/tcms/tests/httptest"
)

func TestGetSummaryByDate(t *testing.T) {
	h := setup(t)
	defer h.Shutdown()

	_, dailySum := htest.MustGET[model.DailySummary](h.Echo, "/api/v1/summary?date=2021-05-26", htest.WithUser(1))
	if assert.NotEmpty(t, dailySum.Date) {
		assert.Equal(t, 2, dailySum.CaseSummary.StatusSummary["SUCCESS"])
		assert.Equal(t, 3, dailySum.CaseSummary.StatusSummary["FAILURE"])
		assert.Equal(t, 0, dailySum.CaseSummary.StatusSummary["PENDING"])
		assert.Equal(t, 2, dailySum.PlanSummary.StatusSummary["SUCCESS"])
		assert.Equal(t, 2, dailySum.PlanSummary.StatusSummary["FAILURE"])
		assert.Equal(t, 0, dailySum.PlanSummary.StatusSummary["PENDING"])
		assert.Equal(t, model.ID(4), dailySum.CaseSummary.FailureExecIDIncreased[0])
		assert.Equal(t, model.ID(6), dailySum.CaseSummary.FailureExecIDIncreased[1])
		assert.Equal(t, model.ID(2), dailySum.PlanSummary.FailureExecIDIncreased[0])
	}
}
