@isset($bookmark->content)
{{ $bookmark->content }}
diff --git a/resources/views/bookmarks/tagged.blade.php b/resources/views/bookmarks/tagged.blade.php
index 4e7b59ea..d18fdf60 100644
--- a/resources/views/bookmarks/tagged.blade.php
+++ b/resources/views/bookmarks/tagged.blade.php
@@ -8,15 +8,15 @@
@foreach($bookmarks as $bookmark)
@isset($bookmark->content)
{{ $bookmark->content }}
diff --git a/resources/views/notes/atom.blade.php b/resources/views/notes/atom.blade.php
index bcb60147..c84a4a93 100644
--- a/resources/views/notes/atom.blade.php
+++ b/resources/views/notes/atom.blade.php
@@ -8,8 +8,8 @@
@foreach($notes as $note)
{{ strip_tags($note->note) }}
-
- {{ $note->longurl }}
+
+ {{ $note->uri }}
{{ $note->updated_at->toAtomString() }}
{{ $note->note }}
diff --git a/resources/views/notes/rss.blade.php b/resources/views/notes/rss.blade.php
index 7d1b35d5..9146ebe0 100644
--- a/resources/views/notes/rss.blade.php
+++ b/resources/views/notes/rss.blade.php
@@ -3,7 +3,7 @@
{{ config('user.display_name') }}
- An RSS feed of the notes found on {{ config('url.longurl') }}
+ An RSS feed of the notes found on {{ config('app.url') }}
{{ config('app.url') }}/notes
{{ $buildDate }}
1800
@@ -16,8 +16,8 @@
{!! $note->note !!}
]]>
- {{ $note->longurl }}
- {{ $note->longurl}}
+ {{ $note->uri }}
+ {{ $note->uri}}
{{ $note->pubdate }}
@endforeach
diff --git a/resources/views/templates/note.blade.php b/resources/views/templates/note.blade.php
index fb4bb58f..3a1bd11c 100644
--- a/resources/views/templates/note.blade.php
+++ b/resources/views/templates/note.blade.php
@@ -34,7 +34,7 @@
@if($note->client) via {{ $note->client->client_name }}@endif
@if($note->place)
@if($note->getOriginal('note'))
- in {{ $note->address }}
+ in {{ $note->address }}
@endif
@elseif($note->address)
in {!! $note->address !!}
diff --git a/routes/web.php b/routes/web.php
index 5c8e989d..21f5848e 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -23,7 +23,6 @@ use App\Http\Controllers\MicropubMediaController;
use App\Http\Controllers\NotesController;
use App\Http\Controllers\PlacesController;
use App\Http\Controllers\SearchController;
-use App\Http\Controllers\ShortURLsController;
use App\Http\Controllers\WebMentionsController;
use App\Http\Middleware\CorsHeaders;
use App\Http\Middleware\MyAuthMiddleware;
@@ -41,201 +40,184 @@ use Illuminate\Support\Facades\Route;
|
*/
-Route::domain(config('url.longurl'))->group(function () {
- Route::get('/', [FrontPageController::class, 'index']);
+Route::get('/', [FrontPageController::class, 'index']);
- // Static project page
- Route::view('projects', 'projects');
+// Static project page
+Route::view('projects', 'projects');
- // Static colophon page
- Route::view('colophon', 'colophon');
+// Static colophon page
+Route::view('colophon', 'colophon');
- // The login routes to get auth’d for admin
- Route::get('login', [AuthController::class, 'showLogin'])->name('login');
- Route::post('login', [AuthController::class, 'login']);
- Route::get('login/passkey', [PasskeysController::class, 'getRequestOptions']);
- Route::post('login/passkey', [PasskeysController::class, 'login']);
+// The login routes to get auth’d for admin
+Route::get('login', [AuthController::class, 'showLogin'])->name('login');
+Route::post('login', [AuthController::class, 'login']);
+Route::get('login/passkey', [PasskeysController::class, 'getRequestOptions']);
+Route::post('login/passkey', [PasskeysController::class, 'login']);
- // And the logout routes
- Route::get('logout', [AuthController::class, 'showLogout'])->name('logout');
- Route::post('logout', [AuthController::class, 'logout']);
+// And the logout routes
+Route::get('logout', [AuthController::class, 'showLogout'])->name('logout');
+Route::post('logout', [AuthController::class, 'logout']);
- // Admin pages grouped for filter
- Route::middleware(MyAuthMiddleware::class)->prefix('admin')->group(function () {
- Route::get('/', [HomeController::class, 'welcome']);
+// Admin pages grouped for filter
+Route::middleware(MyAuthMiddleware::class)->prefix('admin')->group(function () {
+ Route::get('/', [HomeController::class, 'welcome']);
- // Articles
- Route::prefix('blog')->group(function () {
- Route::get('/', [AdminArticlesController::class, 'index']);
- Route::get('/create', [AdminArticlesController::class, 'create']);
- Route::post('/', [AdminArticlesController::class, 'store']);
- Route::get('/{article}/edit', [AdminArticlesController::class, 'edit']);
- Route::put('/{id}', [AdminArticlesController::class, 'update']);
- Route::delete('/{id}', [AdminArticlesController::class, 'destroy']);
- });
-
- // Notes
- Route::prefix('notes')->group(function () {
- Route::get('/', [AdminNotesController::class, 'index']);
- Route::get('/create', [AdminNotesController::class, 'create']);
- Route::post('/', [AdminNotesController::class, 'store']);
- Route::get('/{id}/edit', [AdminNotesController::class, 'edit']);
- Route::put('/{id}', [AdminNotesController::class, 'update']);
- Route::delete('/{id}', [AdminNotesController::class, 'destroy']);
- });
-
- // Micropub Clients
- Route::prefix('clients')->group(function () {
- Route::get('/', [ClientsController::class, 'index']);
- Route::get('/create', [ClientsController::class, 'create']);
- Route::post('/', [ClientsController::class, 'store']);
- Route::get('/{id}/edit', [ClientsController::class, 'edit']);
- Route::put('/{id}', [ClientsController::class, 'update']);
- Route::delete('/{id}', [ClientsController::class, 'destroy']);
- });
-
- // Contacts
- Route::prefix('contacts')->group(function () {
- Route::get('/', [AdminContactsController::class, 'index']);
- Route::get('/create', [AdminContactsController::class, 'create']);
- Route::post('/', [AdminContactsController::class, 'store']);
- Route::get('/{id}/edit', [AdminContactsController::class, 'edit']);
- Route::put('/{id}', [AdminContactsController::class, 'update']);
- Route::delete('/{id}', [AdminContactsController::class, 'destroy']);
- Route::get('/{id}/getavatar', [AdminContactsController::class, 'getAvatar']);
- });
-
- // Places
- Route::prefix('places')->group(function () {
- Route::get('/', [AdminPlacesController::class, 'index']);
- Route::get('/create', [AdminPlacesController::class, 'create']);
- Route::post('/', [AdminPlacesController::class, 'store']);
- Route::get('/{id}/edit', [AdminPlacesController::class, 'edit']);
- Route::put('/{id}', [AdminPlacesController::class, 'update']);
- Route::get('/{id}/merge', [AdminPlacesController::class, 'mergeIndex']);
- Route::get('/{place1_id}/merge/{place2_id}', [AdminPlacesController::class, 'mergeEdit']);
- Route::post('/merge', [AdminPlacesController::class, 'mergeStore']);
- Route::delete('/{id}', [AdminPlacesController::class, 'destroy']);
- });
-
- // Likes
- Route::prefix('likes')->group(function () {
- Route::get('/', [AdminLikesController::class, 'index']);
- Route::get('/create', [AdminLikesController::class, 'create']);
- Route::post('/', [AdminLikesController::class, 'store']);
- Route::get('/{id}/edit', [AdminLikesController::class, 'edit']);
- Route::put('/{id}', [AdminLikesController::class, 'update']);
- Route::delete('/{id}', [AdminLikesController::class, 'destroy']);
- });
-
- // Syndication Targets
- Route::prefix('syndication')->group(function () {
- Route::get('/', [SyndicationTargetsController::class, 'index']);
- Route::get('/create', [SyndicationTargetsController::class, 'create']);
- Route::post('/', [SyndicationTargetsController::class, 'store']);
- Route::get('/{syndicationTarget}/edit', [SyndicationTargetsController::class, 'edit']);
- Route::put('/{syndicationTarget}', [SyndicationTargetsController::class, 'update']);
- Route::delete('/{syndicationTarget}', [SyndicationTargetsController::class, 'destroy']);
- });
-
- // Bio
- Route::prefix('bio')->group(function () {
- Route::get('/', [BioController::class, 'show'])->name('admin.bio.show');
- Route::put('/', [BioController::class, 'update']);
- });
-
- // Passkeys
- Route::prefix('passkeys')->group(function () {
- Route::get('/', [PasskeysController::class, 'index']);
- Route::get('register', [PasskeysController::class, 'getCreateOptions']);
- Route::post('register', [PasskeysController::class, 'create']);
- });
- });
-
- // Blog pages using ArticlesController
+ // Articles
Route::prefix('blog')->group(function () {
- Route::get('/feed.rss', [FeedsController::class, 'blogRss']);
- Route::get('/feed.atom', [FeedsController::class, 'blogAtom']);
- Route::get('/feed.json', [FeedsController::class, 'blogJson']);
- Route::get('/feed.jf2', [FeedsController::class, 'blogJf2']);
- Route::get('/s/{id}', [ArticlesController::class, 'onlyIdInURL']);
- Route::get('/{year?}/{month?}', [ArticlesController::class, 'index'])->where(['year' => '[0-9]{4}', 'month' => '[0-9]{2}']);
- Route::get('/{year}/{month}/{slug}', [ArticlesController::class, 'show'])->where(['year' => '[0-9]{4}', 'month' => '[0-9]{2}']);
+ Route::get('/', [AdminArticlesController::class, 'index']);
+ Route::get('/create', [AdminArticlesController::class, 'create']);
+ Route::post('/', [AdminArticlesController::class, 'store']);
+ Route::get('/{article}/edit', [AdminArticlesController::class, 'edit']);
+ Route::put('/{id}', [AdminArticlesController::class, 'update']);
+ Route::delete('/{id}', [AdminArticlesController::class, 'destroy']);
});
- // Notes pages using NotesController
+ // Notes
Route::prefix('notes')->group(function () {
- Route::get('/', [NotesController::class, 'index']);
- Route::get('/feed.rss', [FeedsController::class, 'notesRss']);
- Route::get('/feed.atom', [FeedsController::class, 'notesAtom']);
- Route::get('/feed.json', [FeedsController::class, 'notesJson']);
- Route::get('/feed.jf2', [FeedsController::class, 'notesJf2']);
- Route::get('/new', [NotesController::class, 'create']);
- Route::get('/{id}', [NotesController::class, 'show']);
- Route::get('/tagged/{tag}', [NotesController::class, 'tagged']);
+ Route::get('/', [AdminNotesController::class, 'index']);
+ Route::get('/create', [AdminNotesController::class, 'create']);
+ Route::post('/', [AdminNotesController::class, 'store']);
+ Route::get('/{id}/edit', [AdminNotesController::class, 'edit']);
+ Route::put('/{id}', [AdminNotesController::class, 'update']);
+ Route::delete('/{id}', [AdminNotesController::class, 'destroy']);
+ });
+
+ // Micropub Clients
+ Route::prefix('clients')->group(function () {
+ Route::get('/', [ClientsController::class, 'index']);
+ Route::get('/create', [ClientsController::class, 'create']);
+ Route::post('/', [ClientsController::class, 'store']);
+ Route::get('/{id}/edit', [ClientsController::class, 'edit']);
+ Route::put('/{id}', [ClientsController::class, 'update']);
+ Route::delete('/{id}', [ClientsController::class, 'destroy']);
+ });
+
+ // Contacts
+ Route::prefix('contacts')->group(function () {
+ Route::get('/', [AdminContactsController::class, 'index']);
+ Route::get('/create', [AdminContactsController::class, 'create']);
+ Route::post('/', [AdminContactsController::class, 'store']);
+ Route::get('/{id}/edit', [AdminContactsController::class, 'edit']);
+ Route::put('/{id}', [AdminContactsController::class, 'update']);
+ Route::delete('/{id}', [AdminContactsController::class, 'destroy']);
+ Route::get('/{id}/getavatar', [AdminContactsController::class, 'getAvatar']);
+ });
+
+ // Places
+ Route::prefix('places')->group(function () {
+ Route::get('/', [AdminPlacesController::class, 'index']);
+ Route::get('/create', [AdminPlacesController::class, 'create']);
+ Route::post('/', [AdminPlacesController::class, 'store']);
+ Route::get('/{id}/edit', [AdminPlacesController::class, 'edit']);
+ Route::put('/{id}', [AdminPlacesController::class, 'update']);
+ Route::get('/{id}/merge', [AdminPlacesController::class, 'mergeIndex']);
+ Route::get('/{place1_id}/merge/{place2_id}', [AdminPlacesController::class, 'mergeEdit']);
+ Route::post('/merge', [AdminPlacesController::class, 'mergeStore']);
+ Route::delete('/{id}', [AdminPlacesController::class, 'destroy']);
});
- Route::get('note/{id}', [NotesController::class, 'redirect']); // for legacy note URLs
// Likes
Route::prefix('likes')->group(function () {
- Route::get('/', [LikesController::class, 'index']);
- Route::get('/{like}', [LikesController::class, 'show']);
+ Route::get('/', [AdminLikesController::class, 'index']);
+ Route::get('/create', [AdminLikesController::class, 'create']);
+ Route::post('/', [AdminLikesController::class, 'store']);
+ Route::get('/{id}/edit', [AdminLikesController::class, 'edit']);
+ Route::put('/{id}', [AdminLikesController::class, 'update']);
+ Route::delete('/{id}', [AdminLikesController::class, 'destroy']);
});
- // Bookmarks
- Route::prefix('bookmarks')->group(function () {
- Route::get('/', [BookmarksController::class, 'index']);
- Route::redirect('/tagged', '/bookmarks');
- Route::get('/{bookmark}', [BookmarksController::class, 'show']);
- Route::get('/tagged/{tag}', [BookmarksController::class, 'tagged']);
+ // Syndication Targets
+ Route::prefix('syndication')->group(function () {
+ Route::get('/', [SyndicationTargetsController::class, 'index']);
+ Route::get('/create', [SyndicationTargetsController::class, 'create']);
+ Route::post('/', [SyndicationTargetsController::class, 'store']);
+ Route::get('/{syndicationTarget}/edit', [SyndicationTargetsController::class, 'edit']);
+ Route::put('/{syndicationTarget}', [SyndicationTargetsController::class, 'update']);
+ Route::delete('/{syndicationTarget}', [SyndicationTargetsController::class, 'destroy']);
});
- // IndieAuth
- Route::get('.well-known/indieauth-server', [IndieAuthController::class, 'indieAuthMetadataEndpoint'])->name('indieauth.metadata');
- Route::get('auth', [IndieAuthController::class, 'start'])->middleware(MyAuthMiddleware::class)->name('indieauth.start');
- Route::post('auth/confirm', [IndieAuthController::class, 'confirm'])->middleware(MyAuthMiddleware::class);
- Route::post('auth', [IndieAuthController::class, 'processCodeExchange']);
- Route::post('token', [IndieAuthController::class, 'processTokenRequest'])->name('indieauth.token');
+ // Bio
+ Route::prefix('bio')->group(function () {
+ Route::get('/', [BioController::class, 'show'])->name('admin.bio.show');
+ Route::put('/', [BioController::class, 'update']);
+ });
- // Micropub Endpoints
- Route::get('api/post', [MicropubController::class, 'get'])->middleware(VerifyMicropubToken::class);
- Route::post('api/post', [MicropubController::class, 'post'])->middleware(VerifyMicropubToken::class)->name('micropub-endpoint');
- Route::get('api/media', [MicropubMediaController::class, 'getHandler'])->middleware(VerifyMicropubToken::class);
- Route::post('api/media', [MicropubMediaController::class, 'media'])
- ->middleware([VerifyMicropubToken::class, CorsHeaders::class])
- ->name('media-endpoint');
- Route::options('/api/media', [MicropubMediaController::class, 'mediaOptionsResponse'])->middleware(CorsHeaders::class);
-
- // Webmention
- Route::get('webmention', [WebMentionsController::class, 'get'])->name('webmention-endpoint');
- Route::post('webmention', [WebMentionsController::class, 'receive']);
-
- // Contacts
- Route::get('contacts', [ContactsController::class, 'index']);
- Route::get('contacts/{contact:nick}', [ContactsController::class, 'show']);
-
- // Places
- Route::get('places', [PlacesController::class, 'index']);
- Route::get('places/{place}', [PlacesController::class, 'show']);
-
- // Micropub
- Route::redirect('/micropub/create', '/notes/new');
-
- // Search
- Route::get('search', [SearchController::class, 'search']);
+ // Passkeys
+ Route::prefix('passkeys')->group(function () {
+ Route::get('/', [PasskeysController::class, 'index']);
+ Route::get('register', [PasskeysController::class, 'getCreateOptions']);
+ Route::post('register', [PasskeysController::class, 'create']);
+ });
});
-// Short URL
-Route::domain(config('url.shorturl'))->group(function () {
- Route::get('/', [ShortURLsController::class, 'baseURL']);
- Route::get('@', [ShortURLsController::class, 'twitter']);
-
- Route::get('{type}/{id}', [ShortURLsController::class, 'expandType'])->where(
- [
- 'type' => '[bt]',
- 'id' => '[0-9A-HJ-NP-Z_a-km-z]+',
- ]
- );
-
- Route::get('h/{id}', [ShortURLsController::class, 'redirect']);
+// Blog pages using ArticlesController
+Route::prefix('blog')->group(function () {
+ Route::get('/feed.rss', [FeedsController::class, 'blogRss']);
+ Route::get('/feed.atom', [FeedsController::class, 'blogAtom']);
+ Route::get('/feed.json', [FeedsController::class, 'blogJson']);
+ Route::get('/feed.jf2', [FeedsController::class, 'blogJf2']);
+ Route::get('/s/{id}', [ArticlesController::class, 'onlyIdInURL']);
+ Route::get('/{year?}/{month?}', [ArticlesController::class, 'index'])->where(['year' => '[0-9]{4}', 'month' => '[0-9]{2}']);
+ Route::get('/{year}/{month}/{slug}', [ArticlesController::class, 'show'])->where(['year' => '[0-9]{4}', 'month' => '[0-9]{2}']);
});
+
+// Notes pages using NotesController
+Route::prefix('notes')->group(function () {
+ Route::get('/', [NotesController::class, 'index']);
+ Route::get('/feed.rss', [FeedsController::class, 'notesRss']);
+ Route::get('/feed.atom', [FeedsController::class, 'notesAtom']);
+ Route::get('/feed.json', [FeedsController::class, 'notesJson']);
+ Route::get('/feed.jf2', [FeedsController::class, 'notesJf2']);
+ Route::get('/new', [NotesController::class, 'create']);
+ Route::get('/{id}', [NotesController::class, 'show']);
+ Route::get('/tagged/{tag}', [NotesController::class, 'tagged']);
+});
+Route::get('note/{id}', [NotesController::class, 'redirect']); // for legacy note URLs
+
+// Likes
+Route::prefix('likes')->group(function () {
+ Route::get('/', [LikesController::class, 'index']);
+ Route::get('/{like}', [LikesController::class, 'show']);
+});
+
+// Bookmarks
+Route::prefix('bookmarks')->group(function () {
+ Route::get('/', [BookmarksController::class, 'index']);
+ Route::redirect('/tagged', '/bookmarks');
+ Route::get('/{bookmark}', [BookmarksController::class, 'show']);
+ Route::get('/tagged/{tag}', [BookmarksController::class, 'tagged']);
+});
+
+// IndieAuth
+Route::get('.well-known/indieauth-server', [IndieAuthController::class, 'indieAuthMetadataEndpoint'])->name('indieauth.metadata');
+Route::get('auth', [IndieAuthController::class, 'start'])->middleware(MyAuthMiddleware::class)->name('indieauth.start');
+Route::post('auth/confirm', [IndieAuthController::class, 'confirm'])->middleware(MyAuthMiddleware::class);
+Route::post('auth', [IndieAuthController::class, 'processCodeExchange']);
+Route::post('token', [IndieAuthController::class, 'processTokenRequest'])->name('indieauth.token');
+
+// Micropub Endpoints
+Route::get('api/post', [MicropubController::class, 'get'])->middleware(VerifyMicropubToken::class);
+Route::post('api/post', [MicropubController::class, 'post'])->middleware(VerifyMicropubToken::class)->name('micropub-endpoint');
+Route::get('api/media', [MicropubMediaController::class, 'getHandler'])->middleware(VerifyMicropubToken::class);
+Route::post('api/media', [MicropubMediaController::class, 'media'])
+ ->middleware([VerifyMicropubToken::class, CorsHeaders::class])
+ ->name('media-endpoint');
+Route::options('/api/media', [MicropubMediaController::class, 'mediaOptionsResponse'])->middleware(CorsHeaders::class);
+
+// Webmention
+Route::get('webmention', [WebMentionsController::class, 'get'])->name('webmention-endpoint');
+Route::post('webmention', [WebMentionsController::class, 'receive']);
+
+// Contacts
+Route::get('contacts', [ContactsController::class, 'index']);
+Route::get('contacts/{contact:nick}', [ContactsController::class, 'show']);
+
+// Places
+Route::get('places', [PlacesController::class, 'index']);
+Route::get('places/{place}', [PlacesController::class, 'show']);
+
+// Micropub
+Route::redirect('/micropub/create', '/notes/new');
+
+// Search
+Route::get('search', [SearchController::class, 'search']);
diff --git a/tests/Feature/FeedsTest.php b/tests/Feature/FeedsTest.php
index a0704b90..1ed6741a 100644
--- a/tests/Feature/FeedsTest.php
+++ b/tests/Feature/FeedsTest.php
@@ -64,7 +64,7 @@ class FeedsTest extends TestCase
'author' => [
'type' => 'card',
'name' => config('user.display_name'),
- 'url' => config('url.longurl'),
+ 'url' => config('app.url'),
],
'children' => [[
'type' => 'entry',
@@ -122,7 +122,7 @@ class FeedsTest extends TestCase
'author' => [
'type' => 'card',
'name' => config('user.display_name'),
- 'url' => config('url.longurl'),
+ 'url' => config('app.url'),
],
'children' => [[
'type' => 'entry',
diff --git a/tests/Feature/MicropubControllerTest.php b/tests/Feature/MicropubControllerTest.php
index 2cd75fc3..f3a7bace 100644
--- a/tests/Feature/MicropubControllerTest.php
+++ b/tests/Feature/MicropubControllerTest.php
@@ -299,7 +299,7 @@ class MicropubControllerTest extends TestCase
'type' => ['h-entry'],
'properties' => [
'content' => [$note],
- 'location' => [$place->longurl],
+ 'location' => [$place->uri],
],
],
['HTTP_Authorization' => 'Bearer ' . $this->getToken()]
@@ -499,7 +499,7 @@ class MicropubControllerTest extends TestCase
'/api/post',
[
'action' => 'update',
- 'url' => $note->longurl,
+ 'url' => $note->uri,
'replace' => [
'content' => ['replaced content'],
],
@@ -519,7 +519,7 @@ class MicropubControllerTest extends TestCase
'/api/post',
[
'action' => 'update',
- 'url' => $note->longurl,
+ 'url' => $note->uri,
'add' => [
'syndication' => [
'https://www.swarmapp.com/checkin/123',
@@ -546,7 +546,7 @@ class MicropubControllerTest extends TestCase
'/api/post',
[
'action' => 'update',
- 'url' => $note->longurl,
+ 'url' => $note->uri,
'add' => [
'photo' => ['https://example.org/photo.jpg'],
],
@@ -607,7 +607,7 @@ class MicropubControllerTest extends TestCase
'/api/post',
[
'action' => 'update',
- 'url' => $note->longurl,
+ 'url' => $note->uri,
'morph' => [ // or any other unsupported update type
'syndication' => ['https://www.swarmapp.com/checkin/123'],
],
@@ -646,7 +646,7 @@ class MicropubControllerTest extends TestCase
'/api/post',
[
'action' => 'update',
- 'url' => $note->longurl,
+ 'url' => $note->uri,
'replace' => [
'syndication' => [
'https://www.swarmapp.com/checkin/the-id',
diff --git a/tests/Feature/NotesControllerTest.php b/tests/Feature/NotesControllerTest.php
index 43e5a050..90ccd553 100644
--- a/tests/Feature/NotesControllerTest.php
+++ b/tests/Feature/NotesControllerTest.php
@@ -31,7 +31,7 @@ class NotesControllerTest extends TestCase
public function specificNotePageLoads(): void
{
$note = Note::factory()->create();
- $response = $this->get($note->longurl);
+ $response = $this->get($note->uri);
$response->assertViewHas('note');
}
@@ -51,7 +51,7 @@ class NotesControllerTest extends TestCase
{
$note = Note::factory()->create();
$response = $this->get('/note/' . $note->id);
- $response->assertRedirect($note->longurl);
+ $response->assertRedirect($note->uri);
}
/**
diff --git a/tests/Feature/PlacesTest.php b/tests/Feature/PlacesTest.php
index 82a3e280..c37e4239 100644
--- a/tests/Feature/PlacesTest.php
+++ b/tests/Feature/PlacesTest.php
@@ -30,7 +30,7 @@ class PlacesTest extends TestCase
public function singlePlacePageLoads(): void
{
$place = Place::factory()->create();
- $response = $this->get($place->longurl);
+ $response = $this->get($place->uri);
$response->assertViewHas('place', $place);
}
diff --git a/tests/Feature/ShortURLsControllerTest.php b/tests/Feature/ShortURLsControllerTest.php
deleted file mode 100644
index 989f3b5b..00000000
--- a/tests/Feature/ShortURLsControllerTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-get('https://' . config('url.shorturl'));
- $response->assertRedirect(config('app.url'));
- }
-
- #[Test]
- public function shortDomainSlashAtRedirectsToTwitter(): void
- {
- $response = $this->get('https://' . config('url.shorturl') . '/@');
- $response->assertRedirect('https://twitter.com/jonnybarnes');
- }
-
- #[Test]
- public function shortDomainSlashTRedirectsToLongDomainSlashNotes(): void
- {
- $response = $this->get('https://' . config('url.shorturl') . '/t/E');
- $response->assertRedirect(config('app.url') . '/notes/E');
- }
-
- #[Test]
- public function shortDomainSlashBRedirectsToLongDomainSlashBlog(): void
- {
- $response = $this->get('https://' . config('url.shorturl') . '/b/1');
- $response->assertRedirect(config('app.url') . '/blog/s/1');
- }
-}
diff --git a/tests/Feature/WebMentionsControllerTest.php b/tests/Feature/WebMentionsControllerTest.php
index d9482450..5d2908cc 100644
--- a/tests/Feature/WebMentionsControllerTest.php
+++ b/tests/Feature/WebMentionsControllerTest.php
@@ -82,7 +82,7 @@ class WebMentionsControllerTest extends TestCase
$response = $this->call('POST', '/webmention', [
'source' => 'https://example.org/post/123',
- 'target' => $note->longurl,
+ 'target' => $note->uri,
]);
$response->assertStatus(202);
diff --git a/tests/Unit/Jobs/ProcessWebMentionJobTest.php b/tests/Unit/Jobs/ProcessWebMentionJobTest.php
index 1bf56621..a67ef15e 100644
--- a/tests/Unit/Jobs/ProcessWebMentionJobTest.php
+++ b/tests/Unit/Jobs/ProcessWebMentionJobTest.php
@@ -94,12 +94,12 @@ class ProcessWebMentionJobTest extends TestCase
$source = 'https://aaronpk.localhost/reply/1';
WebMention::factory()->create([
'source' => $source,
- 'target' => $note->longurl,
+ 'target' => $note->uri,
]);
$html = <<
- In reply to a note
+ In reply to a note
Updated reply
HTML;
@@ -117,7 +117,7 @@ class ProcessWebMentionJobTest extends TestCase
'source' => $source,
'type' => 'in-reply-to',
// phpcs:ignore Generic.Files.LineLength.TooLong
- 'mf2' => '{"rels": [], "items": [{"type": ["h-entry"], "properties": {"content": [{"html": "Updated reply", "value": "Updated reply"}], "in-reply-to": ["' . $note->longurl . '"]}}], "rel-urls": []}',
+ 'mf2' => '{"rels": [], "items": [{"type": ["h-entry"], "properties": {"content": [{"html": "Updated reply", "value": "Updated reply"}], "in-reply-to": ["' . $note->uri . '"]}}], "rel-urls": []}',
]);
}
diff --git a/tests/Unit/NotesTest.php b/tests/Unit/NotesTest.php
index 2f157c8a..6cf0b5e5 100644
--- a/tests/Unit/NotesTest.php
+++ b/tests/Unit/NotesTest.php
@@ -115,14 +115,6 @@ class NotesTest extends TestCase
$this->assertEquals($expected, $note->note);
}
- #[Test]
- public function shorturlMethodReturnsExpectedValue(): void
- {
- $note = Note::factory()->make();
- $note->id = 14;
- $this->assertEquals(config('url.shorturl') . '/notes/E', $note->shorturl);
- }
-
#[Test]
public function weGetLatitudeLongitudeValuesOfAssociatedPlaceOfNote(): void
{
@@ -382,11 +374,11 @@ class NotesTest extends TestCase
public function markdown_content_gets_converted(): void
{
$note = Note::factory()->create([
- 'note' => 'The best search engine? https://duckduckgo.com',
+ 'note' => 'The best search engine? https://kagi.com',
]);
$this->assertSame(
- '
The best search engine? https://duckduckgo.com
' . PHP_EOL,
+ '
The best search engine? https://kagi.com
' . PHP_EOL,
$note->note
);
}
diff --git a/tests/Unit/PlacesTest.php b/tests/Unit/PlacesTest.php
index b3f0ed37..470cc869 100644
--- a/tests/Unit/PlacesTest.php
+++ b/tests/Unit/PlacesTest.php
@@ -40,24 +40,6 @@ class PlacesTest extends TestCase
$this->assertEquals('the-bridgewater-pub', $nearby[0]->slug);
}
- #[Test]
- public function getLongurl(): void
- {
- $place = Place::factory()->create([
- 'name' => 'The Bridgewater Pub',
- ]);
- $this->assertEquals(config('app.url') . '/places/the-bridgewater-pub', $place->longurl);
- }
-
- #[Test]
- public function getShorturl()
- {
- $place = Place::factory()->create([
- 'name' => 'The Bridgewater Pub',
- ]);
- $this->assertEquals(config('url.shorturl') . '/places/the-bridgewater-pub', $place->shorturl);
- }
-
#[Test]
public function getUri(): void
{