예제 #1
0
 public function getAll()
 {
     $this->getPath();
     $placeListJsonString = $this->config->getRestClient()->execute($this->request);
     $this->setup();
     $placeListJsonObject = json_decode($placeListJsonString);
     return PlaceListFactory::generate($placeListJsonObject->search);
 }
예제 #2
0
    public function testGenerate()
    {
        $placeListJson = <<<JSON
{"search":{
    "result_count":"1",
    "current_page":"1",

    "places":[
    {"place": {
        "id":"X58D9K6B",
        "name":"Haro's Buffet",
        "average_rating":"0",
        "review_count":"0",
        "thumbs":{
            "total":"3",
            "up":"3"
        },
        "category":{
            "id":"20",
            "name":"BUFFETS",
            "subcategory":{
                "id":"20",
                "name":"Buffets e Recep\\u00E7\\u00F5es"
                }
            },
        "address":{
            "street":"R. MARLENE",
            "number":"327",
            "district":"Nova Gerti",
            "zipcode":"",
            "complement":"",
            "city":{
                "country":"BR",
                "state":"SP",
                "name":"Sao Caetano Do Sul"
                }
            },
        "phone":{
            "country":"55",
            "area":"11",
            "number":"42384913"
        },
        "point":{
            "lat":"-23.64255",
            "lng":"-46.56799"
            },
        "main_url":"http://www.apontador.com.br/local/sp/sao_caetano_do_sul/buffets/X58D9K6B/haro_s_buffet.html",
        "icon_url":"",
        "other_url":"http://www.harosbuffet.com.br/",
        "small_photo_url":"",
        "medium_photo_url":""
        }
    }
    ]
       ,"facets":[
           {
               "name": "district",
               "data": [
                           {
                               "name": "nova gerti",
                               "count": "1"
                           },
                           {
                               "name": "teste são paulo",
                               "count": "1000"
                           }
               ]
           }
           ,
           {
               "name": "city",
               "data": [
                           {
                               "name": "sao caetano do sul",
                               "count": "1"
                           }
               ]
           }
           ,
           {
               "name": "state",
               "data": [
                           {
                               "name": "sp",
                               "count": "1"
                           }
               ]
           }
           ,
           {
               "name": "categoryid",
               "data": [
                           {
                               "name": "20",
                               "count": "1"
                           }
               ]
           }
           ,
           {
               "name": "subcategoryid",
               "data": [
                           {
                               "name": "20",
                               "count": "1"
                           }
               ]
           }
       ]
    }
}
JSON;
        $placeListJsonObject = json_decode($placeListJson);
        $places = PlaceListFactory::generate($placeListJsonObject->search);
        $this->assertEquals("Haro's Buffet", $places->getItem(0)->getName());
        $this->assertEquals("+55 (11) 4238-4913", $places->getItem(0)->getPhone()->toInternationalStandard());
        $facets = $places->getFacets();
        $this->assertEquals("district", $facets[0]->getName());
        $this->assertEquals(array('nova gerti' => 1, 'teste são paulo' => 1000), $facets[0]->getData());
        $this->assertEquals(array('sao caetano do sul' => 1), $facets[1]->getData());
    }