Skip to content

Commit

Permalink
tests
Browse files Browse the repository at this point in the history
  • Loading branch information
bryanoltman committed Jan 17, 2025
1 parent caed3ba commit cbbb1fd
Show file tree
Hide file tree
Showing 3 changed files with 123 additions and 0 deletions.
27 changes: 27 additions & 0 deletions packages/shorebird_cli/test/src/artifact_manager_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -763,6 +763,33 @@ void main() {
);
});
});

group('when a flavor is provided', () {
const flavor = 'my-flavor';
late Directory appDirectory;

setUp(() {
appDirectory = Directory(
p.join(
projectRoot.path,
'build',
'macos',
'Build',
'Products',
'Release-$flavor',
'my.app',
),
)..createSync(recursive: true);
});

test('includes flavor in lookup path', () async {
final result = runWithOverrides(
() => artifactManager.getMacOSAppDirectory(flavor: flavor),
);

expect(result!.path, equals(appDirectory.path));
});
});
});

group('getIosAppDirectory', () {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -698,6 +698,39 @@ For more information see: ${supportedFlutterVersionsUrl.toLink()}''',
);
});

group('when flavor is provided', () {
const flavor = 'my-flavor';

setUp(() {
patcher = MacosPatcher(
argParser: argParser,
argResults: argResults,
flavor: flavor,
target: null,
);

when(
() => artifactManager.getMacOSAppDirectory(flavor: flavor),
).thenReturn(appDirectory);
});

test('builds with flavor', () async {
await runWithOverrides(patcher.buildPatchArtifact);
verify(
() => artifactBuilder.buildMacos(
codesign: any(named: 'codesign'),
args: any(named: 'args'),
flavor: flavor,
target: any(named: 'target'),
buildProgress: any(named: 'buildProgress'),
),
).called(1);
verify(
() => artifactManager.getMacOSAppDirectory(flavor: flavor),
).called(1);
});
});

group('when --split-debug-info is provided', () {
final tempDir = Directory.systemTemp.createTempSync();
final splitDebugInfoPath = p.join(tempDir.path, 'symbols');
Expand Down Expand Up @@ -1295,6 +1328,38 @@ For more information see: ${supportedFlutterVersionsUrl.toLink()}''',
);
});

group('when flavor is provided', () {
const flavor = 'my-flavor';

setUp(() {
patcher = MacosPatcher(
argParser: argParser,
argResults: argResults,
flavor: flavor,
target: null,
);

when(
() => artifactManager.getMacOSAppDirectory(flavor: flavor),
).thenReturn(appDirectory);
});

test('finds app directory corresponding to flavor', () async {
await runWithOverrides(
() => patcher.createPatchArtifacts(
appId: appId,
releaseId: releaseId,
releaseArtifact: releaseArtifactFile,
supplementArtifact: supplementArtifactFile,
),
);

verify(
() => artifactManager.getMacOSAppDirectory(flavor: flavor),
).called(1);
});
});

group('when class table link info is not present', () {
setUp(() {
when(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,37 @@ To change the version of this release, change your app's version in your pubspec
).thenAnswer((_) async => flutterVersionAndRevision);
});

group('when flavor is provided', () {
const flavor = 'myFlavor';

setUp(() {
releaser = MacosReleaser(
argResults: argResults,
flavor: flavor,
target: null,
);

when(
() => artifactManager.getMacOSAppDirectory(flavor: flavor),
).thenReturn(appDirectory);
});

test('forwards flavor to artifact builder', () async {
await runWithOverrides(releaser.buildReleaseArtifacts);

verify(
() => artifactBuilder.buildMacos(
flavor: flavor,
args: any(named: 'args'),
buildProgress: any(named: 'buildProgress'),
),
).called(1);
verify(
() => artifactManager.getMacOSAppDirectory(flavor: flavor),
).called(1);
});
});

group('when not codesigning', () {
setUp(() {
when(() => argResults['codesign']).thenReturn(false);
Expand Down

0 comments on commit cbbb1fd

Please sign in to comment.