diff --git a/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php b/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php index b7815f3d48..734993ad90 100644 --- a/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php +++ b/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php @@ -109,7 +109,7 @@ function ( $host ) { - id() ) ) : ?> + is_past() && current_user_can( 'edit_translation_event', $event->id() ) ) : ?>

event_factory = new Event_Factory(); + + wp_set_current_user( $this->factory->user->create() ); + add_filter( 'gp_translation_events_can_crud_event', '__return_true' ); + } + + /** + * Remove the capability filter. + * + * @return void + */ + public function tearDown(): void { + remove_filter( 'gp_translation_events_can_crud_event', '__return_true' ); + parent::tearDown(); + } + + /** + * The attendees section is shown while the event is active. + * + * @return void + */ + public function test_shows_attendees_for_active_event() { + $event_id = $this->event_factory->create_active( $this->now, array( $this->factory->user->create() ) ); + + $this->assertStringContainsString( 'event-attendees', $this->render_event_details( $event_id ) ); + } + + /** + * The attendees section is hidden once the event has ended. + * + * @return void + */ + public function test_hides_attendees_for_past_event() { + $event_id = $this->event_factory->create_inactive_past( $this->now, array( $this->factory->user->create() ) ); + + $this->assertStringNotContainsString( 'event-attendees', $this->render_event_details( $event_id ) ); + } + + /** + * Render the details route for an event and return the generated HTML. + * + * @param int $event_id Event to render. + * @return string + */ + private function render_event_details( int $event_id ): string { + wp_cache_flush(); + + $route = new Details_Route(); + $route->fake_request = true; + + ob_start(); + $route->handle( get_post( $event_id )->post_name ); + return (string) ob_get_clean(); + } +} diff --git a/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/themes/wporg-translate-events-2024/blocks/pages/events/event-details/render.php b/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/themes/wporg-translate-events-2024/blocks/pages/events/event-details/render.php index 9dcd41edff..b979317582 100644 --- a/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/themes/wporg-translate-events-2024/blocks/pages/events/event-details/render.php +++ b/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/themes/wporg-translate-events-2024/blocks/pages/events/event-details/render.php @@ -52,17 +52,19 @@ +is_past() ) : ?> +