diff --git a/src/Command/CodeStudio/CodeStudioWizardCommand.php b/src/Command/CodeStudio/CodeStudioWizardCommand.php
index 2d83e22a2..152679d4f 100644
--- a/src/Command/CodeStudio/CodeStudioWizardCommand.php
+++ b/src/Command/CodeStudio/CodeStudioWizardCommand.php
@@ -7,6 +7,7 @@
 use Acquia\Cli\Command\WizardCommandBase;
 use Acquia\Cli\Output\Checklist;
 use AcquiaCloudApi\Endpoints\Account;
+use DateTime;
 use Gitlab\Exception\ValidationFailedException;
 use Symfony\Component\Console\Command\Command;
 use Symfony\Component\Console\Input\InputInterface;
@@ -163,6 +164,7 @@ private function createProjectAccessToken(array $project, string $projectAccessT
     $this->checklist->addItem("Creating access token named <comment>$projectAccessTokenName</comment>");
     $projectAccessToken = $this->gitLabClient->projects()
           ->createProjectAccessToken($project['id'], [
+          'expires_at' => new DateTime('+365 days'),
           'name' => $projectAccessTokenName,
           'scopes' => ['api', 'write_repository'],
         ]);
diff --git a/tests/phpunit/src/Commands/Acsf/AcsfApiCommandTest.php b/tests/phpunit/src/Commands/Acsf/AcsfApiCommandTest.php
index a420087eb..a06237123 100644
--- a/tests/phpunit/src/Commands/Acsf/AcsfApiCommandTest.php
+++ b/tests/phpunit/src/Commands/Acsf/AcsfApiCommandTest.php
@@ -119,7 +119,7 @@ public function testAcsfCommandExecutionForHttpGetMultiple(mixed $method, mixed
     $contents = json_decode($output, TRUE);
   }
 
-  protected function setClientProphecies(mixed $clientServiceClass = ClientService::class): void {
+  protected function setClientProphecies(?string $clientServiceClass = ClientService::class): void {
     $this->clientProphecy = $this->prophet->prophesize(AcsfClient::class);
     $this->clientProphecy->addOption('headers', ['User-Agent' => 'acli/UNKNOWN']);
     $this->clientProphecy->addOption('debug', Argument::type(OutputInterface::class));
diff --git a/tests/phpunit/src/Commands/CodeStudio/CodeStudioWizardCommandTest.php b/tests/phpunit/src/Commands/CodeStudio/CodeStudioWizardCommandTest.php
index ca22288e2..dfc987653 100644
--- a/tests/phpunit/src/Commands/CodeStudio/CodeStudioWizardCommandTest.php
+++ b/tests/phpunit/src/Commands/CodeStudio/CodeStudioWizardCommandTest.php
@@ -9,6 +9,8 @@
 use Acquia\Cli\Tests\Commands\Ide\IdeRequiredTestTrait;
 use Acquia\Cli\Tests\Commands\WizardTestBase;
 use Acquia\Cli\Tests\TestBase;
+use AcquiaCloudApi\Connector\Connector;
+use DateTime;
 use Gitlab\Api\Groups;
 use Gitlab\Api\ProjectNamespaces;
 use Gitlab\Api\Schedules;
@@ -187,14 +189,9 @@ public function providerTestCommand(): array {
 
   /**
    * @dataProvider providerTestCommand
-   * @param $mockedGitlabProjects
-   * @param $args
-   * @param $inputs
    */
-  public function testCommand(mixed $mockedGitlabProjects, mixed $inputs, mixed $args): void {
-    $environmentsResponse = $this->getMockEnvironmentsResponse();
-    $selectedEnvironment = $environmentsResponse->_embedded->items[0];
-    $this->clientProphecy->request('get', "/applications/{$this::$applicationUuid}/environments")->willReturn($environmentsResponse->_embedded->items)->shouldBeCalled();
+  public function testCommand(array $mockedGitlabProjects, array $inputs, array $args): void {
+    $this->clientServiceProphecy->setConnector(Argument::type(Connector::class))->shouldBeCalled();
     $this->mockRequest('getAccount');
     $this->mockGitLabPermissionsRequest($this::$applicationUuid);
 
@@ -204,15 +201,43 @@ public function testCommand(mixed $mockedGitlabProjects, mixed $inputs, mixed $a
     $this->mockGitLabNamespaces($gitlabClient);
 
     $projects = $this->mockGetGitLabProjects($this::$applicationUuid, $this->gitLabProjectId, $mockedGitlabProjects);
-    $projects->create(Argument::type('string'), Argument::type('array'))->willReturn($this->getMockedGitLabProject($this->gitLabProjectId));
+    $parameters = [
+      'container_registry_access_level' => 'disabled',
+      'description' => 'Source repository for Acquia Cloud Platform application <comment>a47ac10b-58cc-4372-a567-0e02b2c3d470</comment>',
+      'namespace_id' => 47,
+      'topics' => 'Acquia Cloud Application',
+    ];
+    $projects->create('Sample-application-1', $parameters)->willReturn($this->getMockedGitLabProject($this->gitLabProjectId));
     $this->mockGitLabProjectsTokens($projects);
-    $projects->update($this->gitLabProjectId, Argument::type('array'));
+    $parameters = [
+      'container_registry_access_level' => 'disabled',
+      'description' => 'Source repository for Acquia Cloud Platform application <comment>a47ac10b-58cc-4372-a567-0e02b2c3d470</comment>',
+      'topics' => 'Acquia Cloud Application',
+    ];
+    $projects->update($this->gitLabProjectId, $parameters)->shouldBeCalled();
+    $projects->uploadAvatar(
+      33,
+      Argument::type('string'),
+    )->shouldBeCalled();
     $this->mockGitLabVariables($this->gitLabProjectId, $projects);
     $schedules = $this->prophet->prophesize(Schedules::class);
     $schedules->showAll($this->gitLabProjectId)->willReturn([]);
     $pipeline = ['id' => 1];
-    $schedules->create($this->gitLabProjectId, Argument::type('array'))->willReturn($pipeline);
-    $schedules->addVariable($this->gitLabProjectId, $pipeline['id'], Argument::type('array'));
+    $parameters = [
+      # Every Thursday at midnight.
+      'cron' => '0 0 * * 4',
+      'description' => 'Code Studio Automatic Updates',
+      'ref' => 'master',
+    ];
+    $schedules->create($this->gitLabProjectId, $parameters)->willReturn($pipeline);
+    $schedules->addVariable($this->gitLabProjectId, $pipeline['id'], [
+      'key' => 'ACQUIA_JOBS_DEPRECATED_UPDATE',
+      'value' => 'true',
+    ])->shouldBeCalled();
+    $schedules->addVariable($this->gitLabProjectId, $pipeline['id'], [
+      'key' => 'ACQUIA_JOBS_COMPOSER_UPDATE',
+      'value' => 'true',
+    ])->shouldBeCalled();
     $gitlabClient->schedules()->willReturn($schedules->reveal());
     $gitlabClient->projects()->willReturn($projects);
 
@@ -231,13 +256,13 @@ public function testCommand(mixed $mockedGitlabProjects, mixed $inputs, mixed $a
 
     /** @var Filesystem|ObjectProphecy $fileSystem */
     $fileSystem = $this->prophet->prophesize(Filesystem::class);
-    $localMachineHelper->getFilesystem()->willReturn($fileSystem->reveal())->shouldBeCalled();
     $this->command->localMachineHelper = $localMachineHelper->reveal();
 
     // Set properties and execute.
     $this->executeCommand($args, $inputs);
 
     // Assertions.
+    $this->prophet->checkPredictions();
     $this->assertEquals(0, $this->getStatusCode());
   }
 
@@ -275,7 +300,7 @@ protected function mockGitLabProjectsTokens(ObjectProphecy $projects): void {
           'access_level' => 40,
           'active' => TRUE,
           'created_at' => '2021-12-28T20:08:21.629Z',
-          'expires_at' => NULL,
+          'expires_at' => new DateTime('+365 days'),
           'id' => $this->gitLabTokenId,
           'name' => 'acquia-codestudio',
           'revoked' => FALSE,
@@ -286,8 +311,8 @@ protected function mockGitLabProjectsTokens(ObjectProphecy $projects): void {
           'user_id' => 154,
         ],
     ];
-    $projects->projectAccessTokens($this->gitLabProjectId)->willReturn($tokens);
-    $projects->deleteProjectAccessToken($this->gitLabProjectId, $this->gitLabTokenId);
+    $projects->projectAccessTokens($this->gitLabProjectId)->willReturn($tokens)->shouldBeCalled();
+    $projects->deleteProjectAccessToken($this->gitLabProjectId, $this->gitLabTokenId)->shouldBeCalled();
     $token = $tokens[0];
     $token['token'] = 'token';
     $projects->createProjectAccessToken($this->gitLabProjectId, Argument::type('array'))->willReturn($token);
@@ -386,9 +411,10 @@ protected function mockGitLabNamespaces(ObjectProphecy $gitlabClient): void {
     $gitlabClient->namespaces()->willReturn($namespaces->reveal());
   }
 
-  protected function mockGitLabVariables(mixed $gitlabProjectId, ObjectProphecy $projects): void {
+  protected function mockGitLabVariables(int $gitlabProjectId, ObjectProphecy $projects): void {
     $projects->variables($gitlabProjectId)->willReturn($this->getMockGitLabVariables());
-    $projects->addVariable($gitlabProjectId, Argument::type('string'), Argument::type('string'), Argument::type('bool'), NULL, Argument::type('array'));
+    $projects->addVariable($gitlabProjectId, Argument::type('string'), Argument::type('string'), Argument::type('bool'), NULL, Argument::type('array'))->shouldBeCalled();
+    $projects->updateVariable($this->gitLabProjectId, Argument::type('string'), Argument::type('string'), FALSE, NULL, ["masked" => TRUE, "variable_type" => "env_var"])->shouldBeCalled();
   }
 
 }
diff --git a/tests/phpunit/src/TestBase.php b/tests/phpunit/src/TestBase.php
index 0f0e36ff4..a9329ba0f 100644
--- a/tests/phpunit/src/TestBase.php
+++ b/tests/phpunit/src/TestBase.php
@@ -720,7 +720,7 @@ public function mockGuzzleClientForUpdate(array $releases): ObjectProphecy {
     return $guzzleClient;
   }
 
-  protected function setClientProphecies(mixed $clientServiceClass = ClientService::class): void {
+  protected function setClientProphecies(?string $clientServiceClass = ClientService::class): void {
     $this->clientProphecy = $this->prophet->prophesize(Client::class);
     $this->clientProphecy->addOption('headers', ['User-Agent' => 'acli/UNKNOWN']);
     $this->clientProphecy->addOption('debug', Argument::type(OutputInterface::class));