Skip to content

Commit ad8b51c

Browse files
authored
Add a functional test (#330)
* Add a functional test * CS
1 parent 3196bb0 commit ad8b51c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+489
-101
lines changed

.gitignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
composer.lock
22
phpunit.xml
3-
vendor
43
.phpunit
4+
vendor
5+
.php_cs.cache
6+
.php_cs
7+
Tests/Functional/cache
8+
Tests/Functional/logs

.php_cs

-10
This file was deleted.

.php_cs.dist

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
$finder = PhpCsFixer\Finder::create()
4+
->in(__DIR__)
5+
->exclude('Tests/Functional/cache')
6+
;
7+
8+
return PhpCsFixer\Config::create()
9+
->setRules(array(
10+
'@Symfony' => true,
11+
'ordered_imports' => true,
12+
'phpdoc_order' => true,
13+
))
14+
->setFinder($finder)
15+
;

.travis.yml

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
language: php
22

33
sudo: false
4-
dist: precise
54

65
cache:
76
directories:
@@ -15,10 +14,10 @@ branches:
1514
matrix:
1615
fast_finish: true
1716
include:
18-
- php: 5.3
17+
- php: 5.5
1918
env: COMPOSER_FLAGS="--prefer-lowest" SYMFONY_DEPRECATIONS_HELPER=weak
2019
- php: 7.2
21-
env: SYMFONY_LTS='^3'
20+
env: SYMFONY_LTS='^3' SYMFONY_DEPRECATIONS_HELPER=weak
2221
- php: 7.2
2322

2423
before_install:

Command/MongoDBMigrateMetadataCommand.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ private function createThreadActiveParticipantArrays(array &$thread)
343343

344344
foreach ($thread['participants'] as $participantRef) {
345345
foreach ($thread['metadata'] as $metadata) {
346-
if ($metadata['isDeleted'] && $participantRef['$id'] === $metadata['participant']['$id']) {
346+
if ($metadata['isDeleted'] && $metadata['participant']['$id'] === $participantRef['$id']) {
347347
continue 2;
348348
}
349349
}
@@ -361,7 +361,7 @@ private function createThreadActiveParticipantArrays(array &$thread)
361361
throw new \UnexpectedValueException(sprintf('Sender reference not found for message "%s"', $messageRef['$id']));
362362
}
363363

364-
if ($participantRef['$id'] == $message['sender']['$id']) {
364+
if ($message['sender']['$id'] == $participantRef['$id']) {
365365
$participantIsActiveSender = true;
366366
} elseif (!$thread['isSpam']) {
367367
$participantIsActiveRecipient = true;
@@ -396,9 +396,9 @@ private function createThreadActiveParticipantArrays(array &$thread)
396396
* @param ManagerRegistry $registry
397397
* @param string $class
398398
*
399-
* @return \MongoCollection
400-
*
401399
* @throws \RuntimeException if the class has no DocumentManager
400+
*
401+
* @return \MongoCollection
402402
*/
403403
private function getMongoCollectionForClass(ManagerRegistry $registry, $class)
404404
{

Composer/Composer.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
namespace FOS\MessageBundle\Composer;
44

5-
use FOS\MessageBundle\ModelManager\MessageManagerInterface;
6-
use FOS\MessageBundle\Model\ThreadInterface;
7-
use FOS\MessageBundle\ModelManager\ThreadManagerInterface;
85
use FOS\MessageBundle\MessageBuilder\NewThreadMessageBuilder;
96
use FOS\MessageBundle\MessageBuilder\ReplyMessageBuilder;
7+
use FOS\MessageBundle\Model\ThreadInterface;
8+
use FOS\MessageBundle\ModelManager\MessageManagerInterface;
9+
use FOS\MessageBundle\ModelManager\ThreadManagerInterface;
1010

1111
/**
1212
* Factory for message builders.

Controller/MessageController.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public function sentAction()
3939
{
4040
$threads = $this->getProvider()->getSentThreads();
4141

42-
return $this->render('@FOSMessage/Message/sent.html.twig',, array(
42+
return $this->render('@FOSMessage/Message/sent.html.twig', array(
4343
'threads' => $threads,
4444
));
4545
}

DataTransformer/RecipientsDataTransformer.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
namespace FOS\MessageBundle\DataTransformer;
44

5+
use Doctrine\Common\Collections\ArrayCollection;
6+
use Doctrine\Common\Collections\Collection;
57
use Symfony\Component\Form\DataTransformerInterface;
68
use Symfony\Component\Form\Exception\TransformationFailedException;
79
use Symfony\Component\Form\Exception\UnexpectedTypeException;
810
use Symfony\Component\Security\Core\User\UserInterface;
9-
use Doctrine\Common\Collections\Collection;
10-
use Doctrine\Common\Collections\ArrayCollection;
1111

1212
/**
1313
* Transforms collection of UserInterface into strings separated with coma.
@@ -35,7 +35,7 @@ public function __construct(DataTransformerInterface $userToUsernameTransformer)
3535
*/
3636
public function transform($recipients)
3737
{
38-
if ($recipients === null || $recipients->count() === 0) {
38+
if (null === $recipients || 0 === $recipients->count()) {
3939
return '';
4040
}
4141

Deleter/Deleter.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
namespace FOS\MessageBundle\Deleter;
44

5+
use FOS\MessageBundle\Event\FOSMessageEvents;
6+
use FOS\MessageBundle\Event\ThreadEvent;
57
use FOS\MessageBundle\Model\ParticipantInterface;
6-
use FOS\MessageBundle\Security\AuthorizerInterface;
78
use FOS\MessageBundle\Model\ThreadInterface;
9+
use FOS\MessageBundle\Security\AuthorizerInterface;
810
use FOS\MessageBundle\Security\ParticipantProviderInterface;
9-
use FOS\MessageBundle\Event\FOSMessageEvents;
10-
use FOS\MessageBundle\Event\ThreadEvent;
11-
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
1211
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
12+
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
1313

1414
/**
1515
* Marks threads as deleted.

DependencyInjection/FOSMessageExtension.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
namespace FOS\MessageBundle\DependencyInjection;
44

55
use Symfony\Component\Config\Definition\Processor;
6+
use Symfony\Component\Config\FileLocator;
67
use Symfony\Component\DependencyInjection\Alias;
8+
use Symfony\Component\DependencyInjection\ContainerBuilder;
9+
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
710
use Symfony\Component\DependencyInjection\Reference;
811
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
9-
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
10-
use Symfony\Component\DependencyInjection\ContainerBuilder;
11-
use Symfony\Component\Config\FileLocator;
1212

1313
class FOSMessageExtension extends Extension
1414
{

Document/Thread.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace FOS\MessageBundle\Document;
44

5-
use FOS\MessageBundle\Model\Thread as AbstractThread;
65
use FOS\MessageBundle\Model\ParticipantInterface;
6+
use FOS\MessageBundle\Model\Thread as AbstractThread;
77

88
abstract class Thread extends AbstractThread
99
{

DocumentManager/MessageManager.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
namespace FOS\MessageBundle\DocumentManager;
44

55
use Doctrine\ODM\MongoDB\DocumentManager;
6+
use Doctrine\ODM\MongoDB\Query\Builder;
67
use FOS\MessageBundle\Document\Message;
78
use FOS\MessageBundle\Document\MessageMetadata;
89
use FOS\MessageBundle\Model\MessageInterface;
9-
use FOS\MessageBundle\ModelManager\MessageManager as BaseMessageManager;
10-
use FOS\MessageBundle\Model\ReadableInterface;
1110
use FOS\MessageBundle\Model\ParticipantInterface;
11+
use FOS\MessageBundle\Model\ReadableInterface;
1212
use FOS\MessageBundle\Model\ThreadInterface;
13-
use Doctrine\ODM\MongoDB\Query\Builder;
13+
use FOS\MessageBundle\ModelManager\MessageManager as BaseMessageManager;
1414

1515
/**
1616
* Default MongoDB MessageManager.

DocumentManager/ThreadManager.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
use Doctrine\ODM\MongoDB\DocumentManager;
66
use FOS\MessageBundle\Document\Thread;
77
use FOS\MessageBundle\Document\ThreadMetadata;
8-
use FOS\MessageBundle\Model\ThreadInterface;
8+
use FOS\MessageBundle\Model\ParticipantInterface;
99
use FOS\MessageBundle\Model\ReadableInterface;
10+
use FOS\MessageBundle\Model\ThreadInterface;
1011
use FOS\MessageBundle\ModelManager\ThreadManager as BaseThreadManager;
11-
use FOS\MessageBundle\Model\ParticipantInterface;
1212

1313
/**
1414
* Default MongoDB ThreadManager.

Entity/MessageMetadata.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace FOS\MessageBundle\Entity;
44

5-
use FOS\MessageBundle\Model\MessageMetadata as BaseMessageMetadata;
65
use FOS\MessageBundle\Model\MessageInterface;
6+
use FOS\MessageBundle\Model\MessageMetadata as BaseMessageMetadata;
77

88
abstract class MessageMetadata extends BaseMessageMetadata
99
{

Entity/Thread.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
use Doctrine\Common\Collections\ArrayCollection;
66
use Doctrine\Common\Collections\Collection;
77
use FOS\MessageBundle\Model\MessageInterface;
8-
use FOS\MessageBundle\Model\Thread as BaseThread;
98
use FOS\MessageBundle\Model\ParticipantInterface;
9+
use FOS\MessageBundle\Model\Thread as BaseThread;
1010
use FOS\MessageBundle\Model\ThreadMetadata as ModelThreadMetadata;
1111

1212
abstract class Thread extends BaseThread

EntityManager/MessageManager.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
namespace FOS\MessageBundle\EntityManager;
44

5-
use FOS\MessageBundle\ModelManager\MessageManager as BaseMessageManager;
65
use Doctrine\ORM\EntityManager;
76
use FOS\MessageBundle\Model\MessageInterface;
8-
use FOS\MessageBundle\Model\ReadableInterface;
97
use FOS\MessageBundle\Model\ParticipantInterface;
8+
use FOS\MessageBundle\Model\ReadableInterface;
109
use FOS\MessageBundle\Model\ThreadInterface;
10+
use FOS\MessageBundle\ModelManager\MessageManager as BaseMessageManager;
1111

1212
/**
1313
* Default ORM MessageManager.

EntityManager/ThreadManager.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
namespace FOS\MessageBundle\EntityManager;
44

5-
use FOS\MessageBundle\ModelManager\ThreadManager as BaseThreadManager;
65
use Doctrine\ORM\EntityManager;
7-
use FOS\MessageBundle\Model\ThreadInterface;
8-
use FOS\MessageBundle\Model\ReadableInterface;
96
use FOS\MessageBundle\Model\ParticipantInterface;
7+
use FOS\MessageBundle\Model\ReadableInterface;
8+
use FOS\MessageBundle\Model\ThreadInterface;
9+
use FOS\MessageBundle\ModelManager\ThreadManager as BaseThreadManager;
1010

1111
/**
1212
* Default ORM ThreadManager.

Event/ReadableEvent.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace FOS\MessageBundle\Event;
44

5-
use Symfony\Component\EventDispatcher\Event;
65
use FOS\MessageBundle\Model\ReadableInterface;
6+
use Symfony\Component\EventDispatcher\Event;
77

88
class ReadableEvent extends Event
99
{

Event/ThreadEvent.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace FOS\MessageBundle\Event;
44

5-
use Symfony\Component\EventDispatcher\Event;
65
use FOS\MessageBundle\Model\ThreadInterface;
6+
use Symfony\Component\EventDispatcher\Event;
77

88
class ThreadEvent extends Event
99
{

FormFactory/AbstractMessageFormFactory.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
namespace FOS\MessageBundle\FormFactory;
44

5+
use FOS\MessageBundle\FormModel\AbstractMessage;
56
use Symfony\Component\Form\AbstractType;
67
use Symfony\Component\Form\FormFactoryInterface;
7-
use FOS\MessageBundle\FormModel\AbstractMessage;
88

99
/**
1010
* Instanciates message forms.

FormHandler/AbstractMessageFormHandler.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22

33
namespace FOS\MessageBundle\FormHandler;
44

5-
use FOS\MessageBundle\Model\MessageInterface;
6-
use Symfony\Component\Form\Form;
7-
use Symfony\Component\HttpFoundation\Request;
8-
use Symfony\Component\HttpFoundation\RequestStack;
95
use FOS\MessageBundle\Composer\ComposerInterface;
106
use FOS\MessageBundle\FormModel\AbstractMessage;
11-
use FOS\MessageBundle\Security\ParticipantProviderInterface;
7+
use FOS\MessageBundle\Model\MessageInterface;
128
use FOS\MessageBundle\Model\ParticipantInterface;
9+
use FOS\MessageBundle\Security\ParticipantProviderInterface;
1310
use FOS\MessageBundle\Sender\SenderInterface;
11+
use Symfony\Component\Form\Form;
12+
use Symfony\Component\HttpFoundation\Request;
13+
use Symfony\Component\HttpFoundation\RequestStack;
1414

1515
/**
1616
* Handles messages forms, from binding request to sending the message.

FormHandler/NewThreadMessageFormHandler.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ class NewThreadMessageFormHandler extends AbstractMessageFormHandler
1313
*
1414
* @param AbstractMessage $message
1515
*
16-
* @return MessageInterface the composed message ready to be sent
17-
*
1816
* @throws \InvalidArgumentException if the message is not a NewThreadMessage
17+
*
18+
* @return MessageInterface the composed message ready to be sent
1919
*/
2020
public function composeMessage(AbstractMessage $message)
2121
{

FormHandler/NewThreadMultipleMessageFormHandler.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ class NewThreadMultipleMessageFormHandler extends AbstractMessageFormHandler
1818
*
1919
* @param AbstractMessage $message
2020
*
21-
* @return MessageInterface the composed message ready to be sent
22-
*
2321
* @throws \InvalidArgumentException if the message is not a NewThreadMessage
22+
*
23+
* @return MessageInterface the composed message ready to be sent
2424
*/
2525
public function composeMessage(AbstractMessage $message)
2626
{

FormHandler/ReplyMessageFormHandler.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ class ReplyMessageFormHandler extends AbstractMessageFormHandler
1313
*
1414
* @param AbstractMessage $message
1515
*
16-
* @return MessageInterface the composed message ready to be sent
17-
*
1816
* @throws \InvalidArgumentException if the message is not a ReplyMessage
17+
*
18+
* @return MessageInterface the composed message ready to be sent
1919
*/
2020
public function composeMessage(AbstractMessage $message)
2121
{

FormType/NewThreadMultipleMessageFormType.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
namespace FOS\MessageBundle\FormType;
44

55
use FOS\MessageBundle\Util\LegacyFormHelper;
6-
use Symfony\Component\Form\FormBuilderInterface;
76
use Symfony\Component\Form\AbstractType;
7+
use Symfony\Component\Form\FormBuilderInterface;
88

99
/**
1010
* Message form type for starting a new conversation with multiple recipients.

FormType/RecipientsType.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
namespace FOS\MessageBundle\FormType;
44

5+
use FOS\MessageBundle\DataTransformer\RecipientsDataTransformer;
56
use FOS\MessageBundle\Util\LegacyFormHelper;
67
use Symfony\Component\Form\AbstractType;
78
use Symfony\Component\Form\FormBuilderInterface;
89
use Symfony\Component\OptionsResolver\OptionsResolver;
910
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
10-
use FOS\MessageBundle\DataTransformer\RecipientsDataTransformer;
1111

1212
/**
1313
* Description of RecipientsType.

MessageBuilder/NewThreadMessageBuilder.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace FOS\MessageBundle\MessageBuilder;
44

5-
use FOS\MessageBundle\Model\ParticipantInterface;
65
use Doctrine\Common\Collections\Collection;
6+
use FOS\MessageBundle\Model\ParticipantInterface;
77

88
/**
99
* Fluent interface message builder for new thread messages.

ModelManager/ReadableManagerInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace FOS\MessageBundle\ModelManager;
44

5-
use FOS\MessageBundle\Model\ReadableInterface;
65
use FOS\MessageBundle\Model\ParticipantInterface;
6+
use FOS\MessageBundle\Model\ReadableInterface;
77

88
/**
99
* Capable of updating the read state of objects directly in the storage,

0 commit comments

Comments
 (0)