/** * @param Wallet $wallet * @throws \InvalidArgumentException If $wallet is not valid */ public function __construct(Wallet $wallet) { if ($wallet->isValid() === false) { throw new \InvalidArgumentException("Wallet::isValid() returned false"); } $this->setModel($wallet); }
/** * @param User $user defaults to null * @return Wallet */ protected function createWallet($user = null) { if ($user === null) { $user = $this->createUser(); } $entity = new Wallet(); $entity->setOwners(array($user->getID())); $entity->setTag('tag'); $entity->setName('wallet'); $entity->setDescription('mangopay wallet'); $entity->setRaisingGoalAmount(100); $entity->setContributionLimitDate(new \DateTime('+1 year')); $response = $this->getClient()->request(new CreateWallet($entity)); $this->assertInstanceOf('Gordalina\\Mangopay\\Response\\ResponseInterface', $response); $this->assertTrue($response->isSuccessful()); return $response->getModel(); }
public function testRequiredFields() { $user = $this->createUser(); $entity = new Wallet(); $entity->setOwners(array($user->getID())); $entity->setTag('tag'); $entity->setName('wallet'); $entity->setDescription('mangopay wallet'); $entity->setRaisingGoalAmount(100); $entity->setContributionLimitDate(new \DateTime('+1 year')); $response = $this->getClient()->request(new CreateWallet($entity)); $this->assertInstanceOf('Gordalina\\Mangopay\\Response\\ResponseInterface', $response); $this->assertTrue($response->isSuccessful()); $responseEntity = $response->getModel(); $this->assertFalse($entity === $responseEntity); $this->assertSame($entity->getOwners(), $responseEntity->getOwners()); $this->assertSame($entity->getTag(), $responseEntity->getTag()); $this->assertSame($entity->getName(), $responseEntity->getName()); $this->assertSame($entity->getDescription(), $responseEntity->getDescription()); $this->assertSame($entity->getRaisingGoalAmount(), $responseEntity->getRaisingGoalAmount()); $this->assertSame($entity->getContributionLimitDate(), $responseEntity->getContributionLimitDate()); $this->assertSame(0, $responseEntity->getCollectedAmount()); $this->assertSame(0, $responseEntity->getSpentAmount()); $this->assertSame(0, $responseEntity->getAmount()); }