public function testCreate()
 {
     $a = Address::fromArray(['name' => 'NewName']);
     $id = $this->service->createAddress($a);
     $created = $this->service->getAddressById($id);
     $this->assertEquals($created->name, $a->name);
 }
Example #2
0
 /**
  * Process PUT Requests. Updates an existing address.
  *
  * @param request Request to execute.
  *
  * @return Response Response to send.
  */
 public function put(Request $request)
 {
     $a = Address::fromArray($request->getBody());
     // TODO: improve error handling
     if ($this->addressService->updateAddress($a)) {
         return Response::ok();
     }
     return Response::notFound();
 }
 /**
  * Process POST Requests, which appends a new address to the collection.
  *
  * @param request Request to execute.
  *
  * @return Response Response to send.
  */
 public function post(Request $request)
 {
     $a = Address::fromArray($request->getBody());
     // TODO: improve error handling
     $id = $this->addressService->createAddress($a);
     if (!is_null($id)) {
         return Response::created("{$id}");
     } else {
         return Response::badRequest();
     }
 }
Example #4
0
 public function testCreateUpdateDelete()
 {
     $a = Address::fromArray(['name' => 'NewName']);
     $response = $this->client->post('address', $this->req($a));
     $this->assertEquals(201, $response->getStatusCode());
     $id = intval($response->getHeader('Location')[0]);
     echo $id;
     $response = $this->client->get("address/{$id}");
     $this->assertEquals(200, $response->getStatusCode());
     $data = json_decode($response->getBody(), true);
     $this->assertEquals('NewName', $data['name']);
     $data['name'] = 'Updated';
     $response = $this->client->put("address/{$id}", $this->req($data));
     $this->assertEquals(200, $response->getStatusCode());
     $response = $this->client->get("address/{$id}");
     $this->assertEquals(200, $response->getStatusCode());
     $data = json_decode($response->getBody(), true);
     $this->assertEquals('Updated', $data['name']);
     $response = $this->client->delete("address/{$id}");
     $this->assertEquals(200, $response->getStatusCode());
     $response = $this->client->get("address/{$id}");
     $this->assertEquals(404, $response->getStatusCode());
 }
 private function loadData()
 {
     $addresses = [];
     $data = json_decode(file_get_contents($this->dataFile), true);
     $id = 0 + $data['seq'];
     foreach ($data['addresses'] as $d) {
         $a = Address::fromArray($d);
         $addresses[$a->id] = $a;
     }
     $this->addresses = $addresses;
     $this->seq = $id;
 }