import 'package:flutter_test/flutter_test.dart'; import 'package:superport/utils/constants.dart'; import 'package:superport/data/models/vendor_dto.dart'; import 'package:superport/data/repositories/vendor_repository.dart'; import 'package:superport/domain/usecases/vendor_usecase.dart'; /// Vendor 페이지네이션 파라미터 테스트 void main() { group('Vendor Pagination 파라미터 테스트', () { test('PaginationConstants.defaultPageSize가 10인지 확인', () { expect(PaginationConstants.defaultPageSize, 10); expect(PaginationConstants.maxPageSize, 100); expect(PaginationConstants.minPageSize, 5); }); test('VendorUseCase 기본 limit 파라미터가 10인지 확인', () { // VendorUseCaseImpl을 직접 테스트하기 어려우므로 // 상수값이 올바른지만 확인 const testLimit = PaginationConstants.defaultPageSize; expect(testLimit, 10); }); test('VendorRepository 기본 limit 파라미터가 10인지 확인', () { // VendorRepositoryImpl을 직접 테스트하기 어려우므로 // 상수값이 올바른지만 확인 const testLimit = PaginationConstants.defaultPageSize; expect(testLimit, 10); }); test('페이지 계산이 올바른지 확인', () { const pageSize = 10; // 1페이지: 1~10 final page1Start = (1 - 1) * pageSize + 1; expect(page1Start, 1); // 2페이지: 11~20 final page2Start = (2 - 1) * pageSize + 1; expect(page2Start, 11); // 3페이지: 21~30 final page3Start = (3 - 1) * pageSize + 1; expect(page3Start, 21); }); test('API 요청 쿼리 파라미터 시뮬레이션 (page_size 사용)', () { // 실제 API 요청에서 전송될 파라미터들 시뮬레이션 - Vendors API만 page_size 사용 final queryParams = { 'page': 1, 'page_size': PaginationConstants.defaultPageSize, }; expect(queryParams['page'], 1); expect(queryParams['page_size'], 10); print('✅ API 요청 파라미터 (최종): $queryParams'); }); }); }