package scheduled

import (
	"testing"
	"time"

	"github.com/stretchr/testify/assert"

	"github.com/pingcap/test-infra/common/model"
	"github.com/pingcap/test-infra/services/tcms/utils"
)

func TestDoSummary(t *testing.T) {
	db, svc := setup(t)
	defer shotdown(db, svc)

	start, err := time.Parse("2006-01-02", "2021-05-26")
	assert.NoError(t, err)
	dailySum, err := svc.Summary.DoDailySummary(utils.FakeCtx(), start, 24*time.Hour)
	assert.NoError(t, err)
	assert.Equal(t, 4, dailySum.CaseSummary.StatusSummary["SUCCESS"])
	assert.Equal(t, 8, 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])
}
