diff --git a/resources/views/components/home/course-card.blade.php b/resources/views/components/home/course-card.blade.php
index 79a2e8baa..ddad60f7e 100644
--- a/resources/views/components/home/course-card.blade.php
+++ b/resources/views/components/home/course-card.blade.php
@@ -45,7 +45,7 @@ class="pointer-events-none absolute -right-10 -top-10 size-32 rounded-full bg-em
- Early Bird
+ Video Course
{{-- Title --}}
diff --git a/resources/views/components/navbar/mobile-menu.blade.php b/resources/views/components/navbar/mobile-menu.blade.php
index a21531f49..f4ba1f856 100644
--- a/resources/views/components/navbar/mobile-menu.blade.php
+++ b/resources/views/components/navbar/mobile-menu.blade.php
@@ -1,10 +1,13 @@
diff --git a/tests/Feature/HomeCourseCardTest.php b/tests/Feature/HomeCourseCardTest.php
new file mode 100644
index 000000000..5d933ad2e
--- /dev/null
+++ b/tests/Feature/HomeCourseCardTest.php
@@ -0,0 +1,29 @@
+blade('')
+ ->assertSee('Video Course')
+ ->assertDontSee('Early Bird');
+ }
+
+ #[Test]
+ public function the_homepage_shows_the_video_course_badge()
+ {
+ $this->get('/')
+ ->assertOk()
+ ->assertSee('Video Course')
+ ->assertDontSee('Early Bird');
+ }
+}
diff --git a/tests/Feature/NavigationMobileMenuPopoverPositionTest.php b/tests/Feature/NavigationMobileMenuPopoverPositionTest.php
new file mode 100644
index 000000000..13436ccb8
--- /dev/null
+++ b/tests/Feature/NavigationMobileMenuPopoverPositionTest.php
@@ -0,0 +1,41 @@
+get('/page-that-does-not-exist');
+
+ $response->assertStatus(404);
+
+ // The 404 page renders the shared navigation with the menu popover
+ $response->assertSee('id="mobile-menu-popover"', false);
+
+ // Positioning must happen inside the open-time updater, where the layout
+ // is measurable. An x-bind:style binding evaluates during Alpine init while
+ // is still display:none, so every measured rect is 0 and the
+ // popover ends up off-screen.
+ $response->assertDontSee('x-bind:style', false);
+ $response->assertSee('$refs.mobilePopover.style.top', false);
+ $response->assertSee('$refs.mobilePopover.style.right', false);
+ }
+
+ public function test_menu_popover_repositions_while_open_on_scroll_and_resize(): void
+ {
+ $response = $this->get('/page-that-does-not-exist');
+
+ $response->assertStatus(404);
+
+ $response->assertSee("window.addEventListener('scroll', updatePopoverPosition", false);
+ $response->assertSee("window.addEventListener('resize', updatePopoverPosition)", false);
+ $response->assertSee("window.removeEventListener('scroll', updatePopoverPosition)", false);
+ $response->assertSee("window.removeEventListener('resize', updatePopoverPosition)", false);
+ }
+}