summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--includes/concert.php23
-rw-r--r--tests/ConcertTest.php8
2 files changed, 13 insertions, 18 deletions
diff --git a/includes/concert.php b/includes/concert.php
index f0a9ecd..089e9a7 100644
--- a/includes/concert.php
+++ b/includes/concert.php
@@ -7,6 +7,13 @@
require_once __DIR__ . '/venue.php';
+if ( !class_exists('GiglogAdmin_DuplicateConcertException') )
+{
+ class GiglogAdmin_DuplicateConcertException extends Exception
+ {
+ }
+}
+
if ( !class_exists('GiglogAdmin_Concert') ) {
require_once __DIR__ . '/venue.php';
@@ -105,12 +112,8 @@ if ( !class_exists('GiglogAdmin_Concert') ) {
]);
if (!empty($gigs)) {
- error_log( 'DUPLICATE ROW detected: '
- . ' CONCERT NAME ' . $name
- . ', VENUE ID ' . $venue_id
- . ', CONCERTDATE ' . $date);
-
- return NULL;
+ throw new GiglogAdmin_DuplicateConcertException(
+ "Duplicate concert: name: {$name}, venue_id: {$venue_id}, date: {$date}");
}
else {
$concert = new GiglogAdmin_Concert( (object) [
@@ -123,14 +126,6 @@ if ( !class_exists('GiglogAdmin_Concert') ) {
$concert->save();
- error_log( 'NEW CONCERT ADDED: '
- . ' ID: ' . $concert -> id()
- . ' CONCERT NAME ' . $name
- . ', VENUE ID ' . $venue_id
- . ', CONCERTDATE ' . $date
- . ', Ticket LINK ' . $ticketlink
- . ', Event LINK ' . $eventlink);
-
return $concert;
}
}
diff --git a/tests/ConcertTest.php b/tests/ConcertTest.php
index 13df320..02ce58e 100644
--- a/tests/ConcertTest.php
+++ b/tests/ConcertTest.php
@@ -80,6 +80,8 @@ final class ConcertTest extends WP_UnitTestCase
public function testCreateExistingConcertShouldFail() : void
{
+ $this->expectException(GiglogAdmin_DuplicateConcertException::class);
+
$venue = GiglogAdmin_Venue::find_or_create("a venue", "Somewhere");
$today = date("Y-m-d");
@@ -89,12 +91,12 @@ final class ConcertTest extends WP_UnitTestCase
$today,
"https://example.com/tickets/42",
"https://example.com/events/93");
-
- $this->assertNull($new);
}
public function testCreateExistingConcertVariableCase() : void
{
+ $this->expectException(GiglogAdmin_DuplicateConcertException::class);
+
$venue = GiglogAdmin_Venue::find_or_create("a venue", "Somewhere");
$today = date("Y-m-d");
@@ -104,8 +106,6 @@ final class ConcertTest extends WP_UnitTestCase
$today,
"https://example.com/tickets/42",
"https://example.com/events/93");
-
- $this->assertNull($new);
}
public function testGetConcertByIdReturnsFullConcertObject() : void