package integration_test

import (
	"context"
	"fmt"
	"testing"

	"github.com/stretchr/testify/assert"
	"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
	"penahub.gitlab.yandexcloud.net/pena-services/customer/pkg/client"
	"penahub.gitlab.yandexcloud.net/pena-services/customer/tests/helpers"
)

func TestHistoryReport(t *testing.T) {
	ctx := context.Background()
	jwtUtil := helpers.InitializeJWT()
	token, err := jwtUtil.Create("807f1f77bcf81cd799439077")

	if ok := assert.NoError(t, err); !ok {
		return
	}

	response, err := client.Post[struct{}, models.ResponseErrorHTTP](ctx, &client.RequestSettings{
		URL:     "http://" + "localhost:8082" + "/sendReport",
		Body:    struct{ Id string }{Id: "10002"},
		Headers: map[string]string{"Authorization": fmt.Sprintf("Bearer %s", token)},
	})
	if ok := assert.NoError(t, err); !ok {
		return
	}
	if ok := assert.Nil(t, response.Error); !ok {
		return
	}

	assert.Equal(t, 200, response.StatusCode)
}
