59 lines
2.1 KiB
Dart
59 lines
2.1 KiB
Dart
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 = <String, dynamic>{
|
|
'page': 1,
|
|
'page_size': PaginationConstants.defaultPageSize,
|
|
};
|
|
|
|
expect(queryParams['page'], 1);
|
|
expect(queryParams['page_size'], 10);
|
|
|
|
print('✅ API 요청 파라미터 (최종): $queryParams');
|
|
});
|
|
});
|
|
} |