/**
  */
 public function test()
 {
     $users = $this->userProvider();
     foreach ($users as $dbEntity) {
         static::assertInstanceOf(GatewayUserPersist::class, $this->persist);
         $dbEntity['logintime'] = time();
         static::assertArrayHasKey('snsid', $dbEntity);
         $userObj = $this->factory->makeUser($dbEntity);
         //            dump($userObj);
         static::assertInstanceOf(User::class, $userObj);
         $userArr = $this->factory->toArray($userObj);
         //            dump($userArr);
         static::assertArrayHasKey('snsid', $userArr);
         $esIndex = Mockery::mock(Index::class);
         $esIndex->shouldReceive('addDocuments')->times(1)->andReturn(Mockery::mock(ResponseSet::class));
         $this->client->shouldReceive('getIndex')->times(1)->andReturn($esIndex);
         $success = $this->persist->persist([$userArr]);
         static::assertTrue($success);
         $this->persist->setSnsid($userObj->snsid);
         $esIndex = Mockery::mock(Index::class);
         $esType = Mockery::mock(\Elastica\Type::class);
         $document = Mockery::mock(Document::class);
         $document->shouldReceive('getData')->times(1)->andReturn($dbEntity);
         $esType->shouldReceive('getDocument')->times(1)->andReturn($document);
         $esIndex->shouldReceive('getType')->times(1)->andReturn($esType);
         $this->client->shouldReceive('getIndex')->times(1)->andReturn($esIndex);
         $found = $this->persist->retrieve();
         $foundObj = $this->factory->makeUser($found);
         static::assertEquals($userArr, $this->factory->toArray($foundObj));
     }
 }
 /**
  *
  */
 public function testMakeUser()
 {
     require_once __DIR__ . '/UserProvider.php';
     $jsonArr = \UserProvider::getJsonData();
     foreach ($jsonArr as $json) {
         $dbEntity = json_decode($json, true);
         static::assertArrayHasKey('snsid', $dbEntity);
         $userObj = $this->factory->makeUser($dbEntity);
         static::assertInstanceOf(User::class, $userObj);
         $userArr = $this->factory->toArray($userObj);
         static::assertArrayHasKey('snsid', $userArr);
         static::assertArrayHasKey('status', $userArr, print_r($userArr, true));
     }
 }
 /**
  */
 public function testFire()
 {
     $userObjList = $this->userProvider();
     $userObj = array_pop($userObjList);
     static::assertInstanceOf(User::class, $userObj);
     $esIndex = Mockery::mock(Index::class);
     $esIndex->shouldReceive('addDocuments')->times(1)->andReturn(Mockery::mock(ResponseSet::class));
     $this->esClient->shouldReceive('getIndex')->times(1)->andReturn($esIndex);
     $this->userRepo->fire($userObj, $errorInfo);
     $this->assertNull($errorInfo);
     $this->userPersist->setSnsid($userObj->snsid);
     $esIndex = Mockery::mock(Index::class);
     $esType = Mockery::mock(\Elastica\Type::class);
     $document = Mockery::mock(Document::class);
     $document->shouldReceive('getData')->times(1)->andReturn((new Factory())->toArray($userObj));
     $esType->shouldReceive('getDocument')->times(1)->andReturn($document);
     $esIndex->shouldReceive('getType')->times(1)->andReturn($esType);
     $this->esClient->shouldReceive('getIndex')->times(1)->andReturn($esIndex);
     $found = $this->userPersist->retrieve();
     $foundObj = $this->factory->makeUser($found);
     static::assertEquals($this->factory->toArray($userObj), $this->factory->toArray($foundObj));
 }
 /**
  * @return array
  */
 public static function listUser()
 {
     $jsonArr = self::getJsonData();
     $factory = new Factory();
     $users = [];
     $countries = ['TW', 'CN', 'TU'];
     foreach ($jsonArr as $json) {
         $dbEntity = json_decode($json, true);
         $dbEntity['logintime'] = time();
         $dbEntity['last_pay_time'] = time();
         $dbEntity['last_pay_amount'] = rand(10, 100);
         $dbEntity['history_pay_amount'] = rand(100, 1000);
         $dbEntity['country'] = $countries[array_rand($countries)];
         $users[] = $factory->makeUser($dbEntity);
     }
     return $users;
 }
Exemple #5
0
 /**
  * @param array $users
  *
  * @return \ESGateway\User[]
  */
 private function sanitizeData(array $users)
 {
     return array_map(function (array $eachUser) {
         return $this->userDataFactory->makeUser($eachUser);
     }, $users);
 }