mirror of
https://github.com/zarzet/SpotiFLAC-Mobile.git
synced 2026-08-09 20:54:24 +02:00
fix(album): overlay selection bar above navbar
This commit is contained in:
@@ -4,7 +4,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:spotiflac_android/l10n/app_localizations.dart';
|
||||
import 'package:spotiflac_android/models/track.dart';
|
||||
import 'package:spotiflac_android/screens/album_screen.dart';
|
||||
import 'package:spotiflac_android/widgets/animation_utils.dart';
|
||||
import 'package:spotiflac_android/widgets/selection_bottom_bar.dart';
|
||||
import 'package:spotiflac_android/widgets/track_detail_actions.dart';
|
||||
import 'package:spotiflac_android/widgets/track_list_tile.dart';
|
||||
|
||||
@@ -95,4 +97,51 @@ void main() {
|
||||
|
||||
expect(enteredSelection, isTrue);
|
||||
});
|
||||
|
||||
testWidgets('album selection bar is mounted in front of the shell navbar', (
|
||||
tester,
|
||||
) async {
|
||||
await tester.binding.setSurfaceSize(const Size(430, 900));
|
||||
addTearDown(() => tester.binding.setSurfaceSize(null));
|
||||
var navbarTaps = 0;
|
||||
|
||||
await tester.pumpWidget(
|
||||
ProviderScope(
|
||||
child: MaterialApp(
|
||||
localizationsDelegates: const [
|
||||
AppLocalizations.delegate,
|
||||
GlobalMaterialLocalizations.delegate,
|
||||
GlobalWidgetsLocalizations.delegate,
|
||||
GlobalCupertinoLocalizations.delegate,
|
||||
],
|
||||
supportedLocales: AppLocalizations.supportedLocales,
|
||||
home: Scaffold(
|
||||
extendBody: true,
|
||||
body: const AlbumScreen(
|
||||
albumId: 'album-1',
|
||||
albumName: 'Album',
|
||||
artistName: 'Artist',
|
||||
tracks: [track],
|
||||
),
|
||||
bottomNavigationBar: GestureDetector(
|
||||
behavior: HitTestBehavior.opaque,
|
||||
onTap: () => navbarTaps++,
|
||||
child: const SizedBox(height: 80),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
await tester.ensureVisible(find.text('Selected song'));
|
||||
await tester.longPress(find.text('Selected song'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.byType(SelectionBottomBar), findsOneWidget);
|
||||
await tester.tapAt(const Offset(2, 898));
|
||||
await tester.pump();
|
||||
|
||||
expect(navbarTaps, 0);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user