Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
buenaflor committed Oct 14, 2024
1 parent 78301f7 commit 8c7f60b
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,10 @@ class TimeToInitialDisplayTracker {
// We can't clear the ttid end time stamp here, because it might be needed
// in the [TimeToFullDisplayTracker] class
}

@visibleForTesting
void clearForTest() {
clear();
_endTimestamp = null;
}
}
29 changes: 28 additions & 1 deletion flutter/test/sentry_navigator_observer_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import 'package:sentry_flutter/sentry_flutter.dart';
import 'package:sentry/src/sentry_tracer.dart';
import 'package:sentry_flutter/src/native/native_frames.dart';
import 'package:sentry_flutter/src/navigation/time_to_display_tracker.dart';
import 'package:sentry_flutter/src/navigation/time_to_full_display_tracker.dart';
import 'package:sentry_flutter/src/navigation/time_to_initial_display_tracker.dart';

import 'fake_frame_callback_handler.dart';
Expand Down Expand Up @@ -128,6 +129,11 @@ void main() {
});

group('$SentryNavigatorObserver', () {
tearDown(() {
fixture.timeToInitialDisplayTracker.clearForTest();
fixture.timeToFullDisplayTracker.clear();
});

test('didPush starts transaction', () async {
const name = 'Current Route';
final currentRoute = route(RouteSettings(name: name));
Expand Down Expand Up @@ -461,6 +467,9 @@ void main() {
final currentRoute = route(RouteSettings(name: 'Current Route'));

final hub = _MockHub();
final options = hub.options as SentryFlutterOptions;
options.enableTimeToFullDisplayTracing = true;

final transaction = getMockSentryTracer(finished: false) as SentryTracer;
final ttidSpan = MockSentrySpan();
final ttfdSpan = MockSentrySpan();
Expand All @@ -480,6 +489,10 @@ void main() {
description: anyNamed('description'),
startTimestamp: anyNamed('startTimestamp')))
.thenReturn(NoOpSentrySpan());
when(transaction.startChild('ui.load.full_display',
description: anyNamed('description'),
startTimestamp: anyNamed('startTimestamp')))
.thenReturn(NoOpSentrySpan());
_whenAnyStart(hub, transaction);

final sut = fixture.getSut(hub: hub);
Expand Down Expand Up @@ -514,6 +527,9 @@ void main() {
final currentRoute = route(RouteSettings(name: 'Current Route'));

final hub = _MockHub();
final options = hub.options as SentryFlutterOptions;
options.enableTimeToFullDisplayTracing = true;

final transaction = getMockSentryTracer(finished: false) as SentryTracer;
final ttidSpan = MockSentrySpan();
final ttfdSpan = MockSentrySpan();
Expand All @@ -533,6 +549,10 @@ void main() {
description: anyNamed('description'),
startTimestamp: anyNamed('startTimestamp')))
.thenReturn(NoOpSentrySpan());
when(transaction.startChild('ui.load.full_display',
description: anyNamed('description'),
startTimestamp: anyNamed('startTimestamp')))
.thenReturn(NoOpSentrySpan());
_whenAnyStart(hub, transaction);

final sut = fixture.getSut(hub: hub);
Expand Down Expand Up @@ -1165,6 +1185,9 @@ void main() {
}

class Fixture {
late TimeToInitialDisplayTracker timeToInitialDisplayTracker;
late TimeToFullDisplayTracker timeToFullDisplayTracker;

SentryNavigatorObserver getSut({
required Hub hub,
bool enableAutoTransactions = true,
Expand All @@ -1175,13 +1198,17 @@ class Fixture {
List<String>? ignoreRoutes,
}) {
final frameCallbackHandler = FakeFrameCallbackHandler();
final timeToInitialDisplayTracker = TimeToInitialDisplayTracker(
timeToInitialDisplayTracker = TimeToInitialDisplayTracker(
frameCallbackHandler: frameCallbackHandler,
);
timeToFullDisplayTracker = TimeToFullDisplayTracker(
endTimestampProvider: () => timeToInitialDisplayTracker.endTimestamp,
);
final options = hub.options;
if (options is SentryFlutterOptions) {
options.timeToDisplayTracker = TimeToDisplayTracker(
ttidTracker: timeToInitialDisplayTracker,
ttfdTracker: timeToFullDisplayTracker,
options: hub.options as SentryFlutterOptions,
);
}
Expand Down

0 comments on commit 8c7f60b

Please sign in to comment.