/** */ 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; }
/** * @param array $users * * @return \ESGateway\User[] */ private function sanitizeData(array $users) { return array_map(function (array $eachUser) { return $this->userDataFactory->makeUser($eachUser); }, $users); }