diff --git a/app/Models/Note.php b/app/Models/Note.php index efd9ee6d..0acb627a 100644 --- a/app/Models/Note.php +++ b/app/Models/Note.php @@ -132,7 +132,11 @@ class Note extends Model */ public function setNoteAttribute($value) { - $this->attributes['note'] = normalizer_normalize($value, Normalizer::FORM_C); + $normalized = normalizer_normalize($value, Normalizer::FORM_C); + if ($normalized === '') { //we don’t want to save empty strings to the db + $normalized = null; + } + $this->attributes['note'] = $normalized; } /** diff --git a/changelog.md b/changelog.md index d67473d4..c5a137d8 100644 --- a/changelog.md +++ b/changelog.md @@ -3,6 +3,7 @@ ## Version {next} - Update dependencies and recompile frontend assets, fix tests - Only normalise tags in the URL, not in the actual link text + - Make sure when a note has no content, null is saved to the db, not `''` ## Version 0.15 (2017-12-24) - Add simple checkins, i.e. checkins with no note content, for now add a default note for these diff --git a/tests/Feature/SwarmTest.php b/tests/Feature/SwarmTest.php index 3b929602..ff86eaaa 100644 --- a/tests/Feature/SwarmTest.php +++ b/tests/Feature/SwarmTest.php @@ -146,12 +146,14 @@ class SwarmTest extends TestCase $response ->assertStatus(201) ->assertJson(['response' => 'created']); + //dump($response->__get('headers')->get('location')); $this->assertDatabaseHas('places', [ 'external_urls' => '{"foursquare": "https://foursquare.com/v/654321"}' ]); $this->assertDatabaseHas('notes', [ 'swarm_url' => 'https://www.swarmapp.com/checkin/def' ]); + $this->get($response->__get('headers')->get('location'))->assertSee('round pushpin'); } public function test_faked_ownyourswarm_request_saves_just_post_when_error_in_checkin_data()