generate_fake_memberships(); $this->swap_time = strtotime( '+100 days' ); $this->membership = current( $faker->get_fake_data_generated( 'memberships' ) ); $cart = new Cart( array() ); $this->membership->schedule_swap( $cart, gmdate( 'Y-m-d H:i:s', $this->swap_time ) ); // Mock Membership_Edit_Admin_Page with dependencies and methods. $this->membership_edit_admin_page = new Membership_Edit_Admin_Page(); } /** * Tests that page_loaded calls add_swap_notices. */ public function test_page_loaded_calls_add_swap_notices() { $_REQUEST['id'] = $this->membership->get_id(); $this->membership_edit_admin_page->page_loaded(); $membership = $this->membership_edit_admin_page->get_object(); $this->assertInstanceOf( Membership::class, $membership ); $this->assertEquals( $membership->get_id(), $this->membership->get_id() ); $this->assertTrue( $this->membership_edit_admin_page->edit ); $notices = \WP_Ultimo()->notices->get_notices( 'network-admin' ); $this->assertNotEmpty( $notices ); $notice = array_shift( $notices ); $this->assertEquals( 'warning', $notice['type'] ); $this->assertFalse( $notice['dismissible_key'] ); $this->assertNotEmpty( $notice['actions'] ); $this->assertStringContainsString( gmdate( get_option( 'date_format' ), $this->swap_time ), $notice['message'] ); } }