Skip to content

Commit

Permalink
Create StraussIssue88Test.php
Browse files Browse the repository at this point in the history
  • Loading branch information
BrianHenryIE committed Mar 8, 2024
1 parent 6487af4 commit 0fb5761
Showing 1 changed file with 67 additions and 0 deletions.
67 changes: 67 additions & 0 deletions tests/Issues/StraussIssue88Test.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?php
/**
* `return (string) \Aws\serialize($command)->getUri();` not prefixed properly.
*
* @see https://github.com/BrianHenryIE/strauss/issues/88
*/

namespace BrianHenryIE\Strauss\Tests\Issues;

use BrianHenryIE\Strauss\Console\Commands\Compose;
use BrianHenryIE\Strauss\Tests\Integration\Util\IntegrationTestCase;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;

/**
* @package BrianHenryIE\Strauss\Tests\Issues
* @coversNothing
*/
class StraussIssue88Test extends IntegrationTestCase
{
public function test_returned_casted_function_call()
{

$composerJsonString = <<<'EOD'
{
"name": "issue/83",
"require": {
"aws/aws-sdk-php": "3.293.8"
},
"extra": {
"strauss": {
"namespace_prefix": "Company\\Project\\",
"exclude_from_copy": {
"file_patterns": [
"/^((?!aws\\/aws-sdk-php).)*$/"
]
}
},
"aws/aws-sdk-php": [
"S3"
]
},
"scripts": {
"pre-autoload-dump": "Aws\\Script\\Composer\\Composer::removeUnusedServices"
}
}
EOD;

chdir($this->testsWorkingDir);

file_put_contents($this->testsWorkingDir . '/composer.json', $composerJsonString);

exec('composer install');

$inputInterfaceMock = $this->createMock(InputInterface::class);
$outputInterfaceMock = $this->createMock(OutputInterface::class);

$strauss = new Compose();

$result = $strauss->run($inputInterfaceMock, $outputInterfaceMock);

$php_string = file_get_contents($this->testsWorkingDir . '/vendor-prefixed/aws/aws-sdk-php/src/S3/S3Client.php');

self::assertStringNotContainsString('return (string) \Aws\serialize($command)->getUri();', $php_string);
self::assertStringContainsString('return (string) \Company\Project\Aws\serialize($command)->getUri();', $php_string);
}
}

0 comments on commit 0fb5761

Please sign in to comment.