package user

import (
	"testing"

	"go.uber.org/zap"

	"codeberg.org/mapleopentech/monorepo/cloud/maplefile-backend/config"
)

// NOTE: Unit tests for CompleteUserDeletionService would require mocks.
// For now, this service will be tested via integration tests.
// See Task 1.10 in RIGHT_TO_BE_FORGOTTEN_IMPLEMENTATION.md

func TestCompleteUserDeletionService_Constructor(t *testing.T) {
	// Test that constructor creates service successfully
	cfg := &config.Configuration{}
	logger := zap.NewNop()

	service := NewCompleteUserDeletionService(
		cfg,
		logger,
		nil, // getUserUseCase
		nil, // deleteUserByIDUseCase
		nil, // listFilesByOwnerIDService
		nil, // softDeleteFileService
		nil, // listCollectionsByUserUseCase
		nil, // softDeleteCollectionService
		nil, // removeUserFromAllCollectionsUseCase
		nil, // deleteStorageDailyUsageUseCase
		nil, // deleteStorageUsageEventUseCase
		nil, // anonymizeUserIPsImmediatelyUseCase
		nil, // clearUserCacheUseCase
		nil, // anonymizeFileUserReferencesUseCase
		nil, // anonymizeCollectionUserReferencesUseCase
	)

	if service == nil {
		t.Error("Expected service to be created, got nil")
	}
}
