- Add HVAC_Test_User_Factory class with: * User creation with specific roles * Multiple role support * Persona management system * Account cleanup integration - Create comprehensive test suite in HVAC_Test_User_Factory_Test.php - Update testing improvement plan documentation - Add implementation decisions to project memory bank - Restructure .gitignore with: * Whitelist approach for better file management * Explicit backup exclusions * Specific bin directory inclusions Part of the Account Management component from the testing framework improvement plan.
93 lines
No EOL
2.5 KiB
PHP
93 lines
No EOL
2.5 KiB
PHP
<?php
|
|
/**
|
|
* Basic functionality tests for HVAC Community Events
|
|
*/
|
|
|
|
class Test_Basic_Functionality extends WP_UnitTestCase {
|
|
|
|
protected $plugin;
|
|
|
|
public function setUp(): void {
|
|
parent::setUp();
|
|
$this->plugin = HVAC_Community_Events::get_instance();
|
|
}
|
|
|
|
public function tearDown(): void {
|
|
parent::tearDown();
|
|
}
|
|
|
|
public function test_plugin_loaded() {
|
|
$this->assertTrue(
|
|
class_exists('HVAC_Community_Events'),
|
|
'Plugin main class should be loaded'
|
|
);
|
|
}
|
|
|
|
public function test_plugin_version() {
|
|
$this->assertTrue(
|
|
defined('HVAC_CE_VERSION'),
|
|
'Plugin version constant should be defined'
|
|
);
|
|
$this->assertNotEmpty(
|
|
HVAC_CE_VERSION,
|
|
'Plugin version should not be empty'
|
|
);
|
|
}
|
|
|
|
public function test_dependencies_available() {
|
|
$this->assertTrue(
|
|
class_exists('Tribe__Events__Main'),
|
|
'The Events Calendar classes should be available'
|
|
);
|
|
$this->assertTrue(
|
|
class_exists('Tribe__Events__Community__Main'),
|
|
'Community Events classes should be available'
|
|
);
|
|
}
|
|
|
|
public function test_basic_event_creation() {
|
|
$event_id = create_test_event();
|
|
$this->assertNotEmpty($event_id, 'Should be able to create a test event');
|
|
|
|
$event = get_post($event_id);
|
|
$this->assertEquals(
|
|
Tribe__Events__Main::POSTTYPE,
|
|
$event->post_type,
|
|
'Event should have correct post type'
|
|
);
|
|
}
|
|
|
|
public function test_event_meta_functions() {
|
|
$event_id = create_test_event();
|
|
|
|
// Test start date
|
|
$start_date = tribe_get_start_date($event_id);
|
|
$this->assertNotFalse(
|
|
$start_date,
|
|
'Should be able to get event start date'
|
|
);
|
|
|
|
// Test end date
|
|
$end_date = tribe_get_end_date($event_id);
|
|
$this->assertNotFalse(
|
|
$end_date,
|
|
'Should be able to get event end date'
|
|
);
|
|
}
|
|
|
|
public function test_event_query() {
|
|
create_test_event();
|
|
create_test_event();
|
|
|
|
$events = tribe_events_get_events();
|
|
$this->assertNotEmpty(
|
|
$events,
|
|
'Should be able to query events'
|
|
);
|
|
$this->assertGreaterThanOrEqual(
|
|
2,
|
|
count($events),
|
|
'Should find at least two events'
|
|
);
|
|
}
|
|
} |