package service

import (
	"testing"

	"github.com/stretchr/testify/require"
	"github.com/tidbcloud/serverless-service/internal/domain/entity"
)

func TestBackupScheduleHistoryConfigChanged(t *testing.T) {
	schedule := &entity.BackupSchedule{
		ScheduleCron: "0 0 10 * * *",
		Retention:    72,
	}

	require.False(t, backupScheduleHistoryConfigChanged(schedule, schedule.ScheduleCron, schedule.Retention))
	require.True(t, backupScheduleHistoryConfigChanged(schedule, "0 30 10 * * *", schedule.Retention))
	require.True(t, backupScheduleHistoryConfigChanged(schedule, schedule.ScheduleCron, 48))
	require.True(t, backupScheduleHistoryConfigChanged(nil, schedule.ScheduleCron, schedule.Retention))
}
