mirror of
https://github.com/Sylius/Sylius.git
synced 2026-07-15 01:20:59 +00:00
enable tests
This commit is contained in:
parent
7cdca5f90f
commit
29affee4cb
6 changed files with 137 additions and 162 deletions
|
|
@ -1,158 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the Sylius package.
|
||||
*
|
||||
* (c) Sylius Sp. z o.o.
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Sylius\Tests\Api\Admin;
|
||||
|
||||
use Sylius\Component\Core\Model\AdminUserInterface;
|
||||
use Sylius\Tests\Api\JsonApiTestCase;
|
||||
use Sylius\Tests\Api\Utils\AdminUserLoginTrait;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
final class AdminUsersTest extends JsonApiTestCase
|
||||
{
|
||||
use AdminUserLoginTrait;
|
||||
|
||||
/** @test */
|
||||
public function it_allows_admin_users_to_log_in(): void
|
||||
{
|
||||
$this->loadFixturesFromFile('authentication/api_administrator.yaml');
|
||||
|
||||
$this->client->request(
|
||||
method: 'POST',
|
||||
uri: '/api/v2/admin/administrators/token',
|
||||
server: self::CONTENT_TYPE_HEADER,
|
||||
content: json_encode([
|
||||
'email' => 'api@example.com',
|
||||
'password' => 'sylius',
|
||||
], \JSON_THROW_ON_ERROR),
|
||||
);
|
||||
|
||||
$response = $this->client->getResponse();
|
||||
|
||||
$this->assertResponse($response, 'admin/admin_user/log_in_admin_response', Response::HTTP_OK);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_gets_administrators(): void
|
||||
{
|
||||
$this->loadFixturesFromFiles(['authentication/api_administrator.yaml', 'administrator.yaml']);
|
||||
$header = array_merge($this->logInAdminUser('api@example.com'), self::CONTENT_TYPE_HEADER);
|
||||
|
||||
$this->client->request(method: 'GET', uri: '/api/v2/admin/administrators', server: $header);
|
||||
|
||||
$this->assertResponse(
|
||||
$this->client->getResponse(),
|
||||
'admin/admin_user/get_administrators_response',
|
||||
Response::HTTP_OK,
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_gets_an_administrator(): void
|
||||
{
|
||||
$fixtures = $this->loadFixturesFromFiles(['authentication/api_administrator.yaml', 'administrator.yaml']);
|
||||
$header = array_merge($this->logInAdminUser('api@example.com'), self::CONTENT_TYPE_HEADER);
|
||||
|
||||
/** @var AdminUserInterface $administrator */
|
||||
$administrator = $fixtures['admin_user_wilhelm'];
|
||||
|
||||
$this->client->request(
|
||||
method: 'GET',
|
||||
uri: sprintf('/api/v2/admin/administrators/%s', $administrator->getId()),
|
||||
server: $header,
|
||||
);
|
||||
|
||||
$this->assertResponse(
|
||||
$this->client->getResponse(),
|
||||
'admin/admin_user/get_administrator_response',
|
||||
Response::HTTP_OK,
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_creates_an_administrator(): void
|
||||
{
|
||||
$this->loadFixturesFromFile('authentication/api_administrator.yaml');
|
||||
$header = array_merge($this->logInAdminUser('api@example.com'), self::CONTENT_TYPE_HEADER);
|
||||
|
||||
$this->client->request(
|
||||
method: 'POST',
|
||||
uri: '/api/v2/admin/administrators',
|
||||
server: $header,
|
||||
content: json_encode([
|
||||
'email' => 'j.api@test.com',
|
||||
'username' => 'johnApi',
|
||||
'plainPassword' => 'very-secure',
|
||||
'enabled' => true,
|
||||
'firstName' => 'John',
|
||||
'lastName' => 'Api',
|
||||
'localeCode' => 'ga_IE',
|
||||
], \JSON_THROW_ON_ERROR),
|
||||
);
|
||||
|
||||
$this->assertResponse(
|
||||
$this->client->getResponse(),
|
||||
'admin/admin_user/create_administrator_response',
|
||||
Response::HTTP_CREATED,
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_updates_an_administrator(): void
|
||||
{
|
||||
$fixtures = $this->loadFixturesFromFiles(['authentication/api_administrator.yaml', 'administrator.yaml']);
|
||||
$header = array_merge($this->logInAdminUser('api@example.com'), self::CONTENT_TYPE_HEADER);
|
||||
|
||||
/** @var AdminUserInterface $administrator */
|
||||
$administrator = $fixtures['admin_user_wilhelm'];
|
||||
|
||||
$this->client->request(
|
||||
method: 'PUT',
|
||||
uri: sprintf('/api/v2/admin/administrators/%s', $administrator->getId()),
|
||||
server: $header,
|
||||
content: json_encode([
|
||||
'email' => 'j.api@test.com',
|
||||
'username' => 'johnApi',
|
||||
'plainPassword' => 'very-secure',
|
||||
'enabled' => false,
|
||||
'firstName' => 'John',
|
||||
'lastName' => 'Api',
|
||||
'localeCode' => 'ga_IE',
|
||||
], \JSON_THROW_ON_ERROR),
|
||||
);
|
||||
|
||||
$this->assertResponse(
|
||||
$this->client->getResponse(),
|
||||
'admin/admin_user/put_administrator_response',
|
||||
Response::HTTP_OK,
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_deletes_an_administrator(): void
|
||||
{
|
||||
$fixtures = $this->loadFixturesFromFiles(['authentication/api_administrator.yaml', 'administrator.yaml']);
|
||||
$header = array_merge($this->logInAdminUser('api@example.com'), self::CONTENT_TYPE_HEADER);
|
||||
|
||||
/** @var AdminUserInterface $administrator */
|
||||
$administrator = $fixtures['admin_user_wilhelm'];
|
||||
|
||||
$this->client->request(
|
||||
method: 'DELETE',
|
||||
uri: sprintf('/api/v2/admin/administrators/%s', $administrator->getId()),
|
||||
server: $header,
|
||||
);
|
||||
|
||||
$this->assertResponseCode($this->client->getResponse(), Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
}
|
||||
|
|
@ -7,7 +7,7 @@ Feature: Adding an avatar to an administrator
|
|||
Background:
|
||||
Given I am logged in as an administrator
|
||||
|
||||
@ui @api @avatar # temporarily enabled to test only the avatar
|
||||
@ui @api
|
||||
Scenario: Adding an avatar to administrator account
|
||||
Given I am editing my details
|
||||
When I upload the "troll.jpg" image as my avatar
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ Feature: Changing an administrator's avatar
|
|||
Background:
|
||||
Given I am logged in as an administrator
|
||||
|
||||
@ui @api @avatar # temporarily enabled to test only the avatar
|
||||
@ui @api
|
||||
Scenario: Changing an avatar of an administrator
|
||||
Given I have the "ford.jpg" image as my avatar
|
||||
And I am editing my details
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ Feature: Removing an administrator avatar
|
|||
Given I am logged in as an administrator
|
||||
And this administrator has the "troll.jpg" image as avatar
|
||||
|
||||
@ui @api @avatar # temporarily enabled to test only the avatar
|
||||
@ui @api
|
||||
Scenario: Removing an administrator avatar
|
||||
Given I am editing my details
|
||||
When I remove the avatar
|
||||
|
|
|
|||
|
|
@ -21,5 +21,5 @@ default:
|
|||
- sylius.behat.context.api.admin.save
|
||||
|
||||
filters:
|
||||
tags: "@managing_administrators&&@api&&@avatar"
|
||||
tags: "@managing_administrators&&@api"
|
||||
javascript: false
|
||||
|
|
|
|||
|
|
@ -15,11 +15,144 @@ namespace Sylius\Tests\Api\Admin;
|
|||
|
||||
use Sylius\Component\Core\Model\AdminUserInterface;
|
||||
use Sylius\Tests\Api\JsonApiTestCase;
|
||||
use Sylius\Tests\Api\Utils\AdminUserLoginTrait;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
final class AdminUsersTest extends JsonApiTestCase
|
||||
{
|
||||
use AdminUserLoginTrait;
|
||||
|
||||
/** @test */
|
||||
public function it_allows_admin_users_to_log_in(): void
|
||||
{
|
||||
$this->loadFixturesFromFile('authentication/api_administrator.yaml');
|
||||
|
||||
$this->client->request(
|
||||
method: 'POST',
|
||||
uri: '/api/v2/admin/administrators/token',
|
||||
server: self::CONTENT_TYPE_HEADER,
|
||||
content: json_encode([
|
||||
'email' => 'api@example.com',
|
||||
'password' => 'sylius',
|
||||
], \JSON_THROW_ON_ERROR),
|
||||
);
|
||||
|
||||
$response = $this->client->getResponse();
|
||||
|
||||
$this->assertResponse($response, 'admin/admin_user/log_in_admin_response', Response::HTTP_OK);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_gets_administrators(): void
|
||||
{
|
||||
$this->loadFixturesFromFiles(['authentication/api_administrator.yaml', 'administrator.yaml']);
|
||||
$header = $this->headerBuilder()->withJsonLdAccept()->withAdminUserAuthorization('api@example.com')->build();
|
||||
|
||||
$this->requestGet(uri: '/api/v2/admin/administrators', headers: $header);
|
||||
|
||||
$this->assertResponse(
|
||||
$this->client->getResponse(),
|
||||
'admin/admin_user/get_administrators_response',
|
||||
Response::HTTP_OK,
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_gets_an_administrator(): void
|
||||
{
|
||||
$fixtures = $this->loadFixturesFromFiles(['authentication/api_administrator.yaml', 'administrator.yaml']);
|
||||
$header = $this->headerBuilder()->withJsonLdAccept()->withAdminUserAuthorization('api@example.com')->build();
|
||||
|
||||
/** @var AdminUserInterface $administrator */
|
||||
$administrator = $fixtures['admin_user_wilhelm'];
|
||||
|
||||
$this->requestGet(uri: '/api/v2/admin/administrators/' . $administrator->getId(), headers: $header);
|
||||
|
||||
$this->assertResponse(
|
||||
$this->client->getResponse(),
|
||||
'admin/admin_user/get_administrator_response',
|
||||
Response::HTTP_OK,
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_creates_an_administrator(): void
|
||||
{
|
||||
$this->loadFixturesFromFile('authentication/api_administrator.yaml');
|
||||
$header = array_merge($this->logInAdminUser('api@example.com'), self::CONTENT_TYPE_HEADER);
|
||||
|
||||
$this->client->request(
|
||||
method: 'POST',
|
||||
uri: '/api/v2/admin/administrators',
|
||||
server: $header,
|
||||
content: json_encode([
|
||||
'email' => 'j.api@test.com',
|
||||
'username' => 'johnApi',
|
||||
'plainPassword' => 'very-secure',
|
||||
'enabled' => true,
|
||||
'firstName' => 'John',
|
||||
'lastName' => 'Api',
|
||||
'localeCode' => 'ga_IE',
|
||||
], \JSON_THROW_ON_ERROR),
|
||||
);
|
||||
|
||||
$this->assertResponse(
|
||||
$this->client->getResponse(),
|
||||
'admin/admin_user/create_administrator_response',
|
||||
Response::HTTP_CREATED,
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_updates_an_administrator(): void
|
||||
{
|
||||
$fixtures = $this->loadFixturesFromFiles(['authentication/api_administrator.yaml', 'administrator.yaml']);
|
||||
$header = array_merge($this->logInAdminUser('api@example.com'), self::CONTENT_TYPE_HEADER);
|
||||
|
||||
/** @var AdminUserInterface $administrator */
|
||||
$administrator = $fixtures['admin_user_wilhelm'];
|
||||
|
||||
$this->client->request(
|
||||
method: 'PUT',
|
||||
uri: sprintf('/api/v2/admin/administrators/%s', $administrator->getId()),
|
||||
server: $header,
|
||||
content: json_encode([
|
||||
'email' => 'j.api@test.com',
|
||||
'username' => 'johnApi',
|
||||
'plainPassword' => 'very-secure',
|
||||
'enabled' => false,
|
||||
'firstName' => 'John',
|
||||
'lastName' => 'Api',
|
||||
'localeCode' => 'ga_IE',
|
||||
], \JSON_THROW_ON_ERROR),
|
||||
);
|
||||
|
||||
$this->assertResponse(
|
||||
$this->client->getResponse(),
|
||||
'admin/admin_user/put_administrator_response',
|
||||
Response::HTTP_OK,
|
||||
);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_deletes_an_administrator(): void
|
||||
{
|
||||
$fixtures = $this->loadFixturesFromFiles(['authentication/api_administrator.yaml', 'administrator.yaml']);
|
||||
$header = $this->headerBuilder()->withJsonLdAccept()->withAdminUserAuthorization('api@example.com')->build();
|
||||
|
||||
/** @var AdminUserInterface $administrator */
|
||||
$administrator = $fixtures['admin_user_wilhelm'];
|
||||
|
||||
$this->client->request(
|
||||
method: 'DELETE',
|
||||
uri: sprintf('/api/v2/admin/administrators/%s', $administrator->getId()),
|
||||
server: $header,
|
||||
);
|
||||
|
||||
$this->assertResponseCode($this->client->getResponse(), Response::HTTP_NO_CONTENT);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function it_sends_administrator_password_reset_email(): void
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue