_objectManager->get(Session::class); $session->setCustomerId($customerId); /** @var CustomerTokenManagement $tokenManagement */ $tokenManagement = $this->_objectManager->get(CustomerTokenManagement::class); $tokens = $tokenManagement->getCustomerSessionTokens(); static::assertCount(1, $tokens); $vaultToken = array_pop($tokens); /** @var FormKey $formKey */ $formKey = $this->_objectManager->get(FormKey::class); $this->getRequest() ->setPostValue([ 'public_hash' => $vaultToken->getPublicHash(), 'form_key' => $formKey->getFormKey() ]) ->setMethod(Request::METHOD_POST); $this->dispatch('vault/cards/deleteaction'); static::assertTrue($this->getResponse()->isRedirect()); static::assertRedirect(static::stringContains('vault/cards/listaction')); static::assertSessionMessages(static::equalTo(['Stored Payment Method was successfully removed'])); static::assertEmpty($tokenManagement->getCustomerSessionTokens()); } }