Squashed commit of the following:

commit fa51cd728fbb13ebadfc45d90dc24c284a31f4ae
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Oct 1 14:25:50 2016 +0100

    Update changelog

commit 93e6a92c664cb42da679c5bb2e37cabec0e7fb99
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Oct 1 14:25:00 2016 +0100

    test create new place with uncertainty parameter

commit 3d793801b3c0e93228ce5c6bae83c74b130127c0
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Oct 1 14:24:35 2016 +0100

    Parse correctly to take into account uncertainty parameter

commit d9060332a484ff414ed4dac03fa39838d7b73b54
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sat Oct 1 11:11:56 2016 +0100

    Better comments

commit 298663cf7beaf4893d326aae880d64279ce4af37
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 30 22:59:08 2016 +0100

    Allow tagged notes to be deleted, didn’t know that wasn’t possible before :/

commit 7f5c65c6d858321526b7f0ac84c527dc2f09614a
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Sep 30 22:57:57 2016 +0100

    Better test for creating a new note via mircropub, the new note gets deleted
This commit is contained in:
Jonny Barnes 2016-10-01 14:26:07 +01:00
parent 2c6b9df97a
commit 2546a92039
5 changed files with 65 additions and 7 deletions

View file

@ -25,10 +25,15 @@ class PlaceService
$description = $request->input('description');
$geo = $request->input('geo');
}
$parts = explode(':', $geo);
$latlng = explode(',', $parts[1]);
$latitude = $latlng[0];
$longitude = $latlng[1];
if ($geo) {
preg_match_all(
'/([0-9\.\-]+)/',
$geo,
$matches
);
$latitude = $matches[0][0];
$longitude = $matches[0][1];
}
if ($request->input('latitude') !== null) {
$latitude = $request->input('latitude');
$longitude = $request->input('longitude');

View file

@ -2,6 +2,7 @@
## Version {next}
- Add support for accuracy/uncertainty in geo URIs (issue#20,issue#9)
- Add some places tests
## Version 0.0.13 (2016-09-26)
- Better places support, particularly with micropub (issue#9)

View file

@ -0,0 +1,31 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CascadeDeleteNoteTags extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('note_tag', function ($table) {
$table->dropForeign('note_tag_note_id_foreign');
$table->foreign('note_id')->references('id')->on('notes')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}

View file

@ -46,9 +46,6 @@ class MicropubClientTest extends TestCase
->see('https://twitter.com/jonnybarnes');
}
/**
* This currently creates a new note that stays in the database.
*/
public function testClientCreatesNewNoteWithTag()
{
$faker = \Faker\Factory::create();
@ -62,6 +59,11 @@ class MicropubClientTest extends TestCase
$this->seeInDatabase('notes', ['note' => $note]);
$this->visit($this->appurl . '/notes/tagged/PHPUnit')
->see('PHPUnit');
//my client has made a request to my endpoint, which then adds
//to the db, so database transaction dont work
//so lets manually delete the new entry
$newNote = \App\Note::where('note', $note);
$newNote->forceDelete();
}

View file

@ -222,6 +222,25 @@ class MicropubTest extends TestCase
]);
}
public function testMicropubJSONRequestCreateNewPlaceWithUncertaintyParam()
{
$faker = \Faker\Factory::create();
$this->json(
'POST',
$this->appurl . '/api/post',
[
'type' => ['h-card'],
'properties' => [
'name' => $faker->name,
'geo' => 'geo:' . $faker->latitude . ',' . $faker->longitude . ';u=35'
],
],
['HTTP_Authorization' => 'Bearer ' . $this->getToken()]
)->seeJson([
'response' => 'created'
])->assertResponseStatus(201);
}
private function getToken()
{
$signer = new Sha256();