Skip to content

Commit

Permalink
✅ Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexV525 committed Jan 28, 2025
1 parent 900c5a1 commit 3324809
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions dio/test/dio_mixin_test.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'dart:typed_data';

import 'package:dio/dio.dart';
import 'package:test/test.dart';

Expand Down Expand Up @@ -28,8 +30,42 @@ void main() {
throwsA(const TypeMatcher<UnimplementedError>()),
);
});

test('cloned', () {
final dio = Dio();
final cloned = dio.clone();
expect(dio == cloned, false);
expect(dio.options, equals(cloned.options));
expect(dio.interceptors, equals(cloned.interceptors));
expect(dio.httpClientAdapter, equals(cloned.httpClientAdapter));
expect(dio.transformer, equals(cloned.transformer));
final clonedWithFields = dio.clone(
options: BaseOptions(baseUrl: 'http://localhost'),
interceptors: Interceptors()..add(InterceptorsWrapper()),
httpClientAdapter: _TestAdapter(),
transformer: SyncTransformer(),
);
expect(clonedWithFields.options.baseUrl, equals('http://localhost'));
expect(clonedWithFields.interceptors.length, equals(2));
expect(clonedWithFields.httpClientAdapter, isA<_TestAdapter>());
expect(clonedWithFields.transformer, isA<SyncTransformer>());
});
}

class _TestDioMixin with DioMixin implements Dio {}

class _TestDioMixinExtends extends DioMixin implements Dio {}

class _TestAdapter implements HttpClientAdapter {
@override
Future<ResponseBody> fetch(
RequestOptions options,
Stream<Uint8List>? requestStream,
Future<void>? cancelFuture,
) {
throw UnimplementedError();
}

@override
void close({bool force = false}) {}
}

0 comments on commit 3324809

Please sign in to comment.