upskill-event-manager/wordpress-dev/tests/basic/test-basic-functionality.php
bengizmo d6211ee364 feat(testing): Implement HVAC_Test_User_Factory and update .gitignore
- 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.
2025-04-14 17:41:36 -03:00

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'
);
}
}