getMaskedQuoteIdByReservedOrderId = $objectManager->get(GetMaskedQuoteIdByReservedOrderId::class); $this->customerTokenService = $objectManager->get(CustomerTokenServiceInterface::class); } /** * @magentoApiDataFixture Magento/Customer/_files/customer.php * @magentoApiDataFixture Magento/GraphQl/Quote/_files/customer/create_empty_cart.php * */ public function testSetGuestEmailOnCartForLoggedInCustomer() { $this->expectException(\Exception::class); $this->expectExceptionMessage('The request is not allowed for logged in customers'); $maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote'); $email = 'some@user.com'; $query = $this->getQuery($maskedQuoteId, $email); $this->graphQlMutation($query, [], '', $this->getHeaderMap()); } /** * _security * @magentoApiDataFixture Magento/Customer/_files/customer.php * @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php * */ public function testSetGuestEmailOnGuestCart() { $this->expectException(\Exception::class); $this->expectExceptionMessage('The request is not allowed for logged in customers'); $maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote'); $email = 'some@user.com'; $query = $this->getQuery($maskedQuoteId, $email); $this->graphQlMutation($query, [], '', $this->getHeaderMap()); } /** * Returns GraphQl mutation query for setting email address for a guest * * @param string $maskedQuoteId * @param string $email * @return string */ private function getQuery(string $maskedQuoteId, string $email): string { return <<customerTokenService->createCustomerAccessToken($username, $password); $headerMap = ['Authorization' => 'Bearer ' . $customerToken]; return $headerMap; } }