summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--includes/admin/views/giglog_import_gigs.php6
-rw-r--r--includes/band.php21
-rw-r--r--tests/BandTest.php22
3 files changed, 35 insertions, 14 deletions
diff --git a/includes/admin/views/giglog_import_gigs.php b/includes/admin/views/giglog_import_gigs.php
index ca1c7b8..17b1cbd 100644
--- a/includes/admin/views/giglog_import_gigs.php
+++ b/includes/admin/views/giglog_import_gigs.php
@@ -61,7 +61,7 @@ if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
}
$resultArray = explode("\t", $line);
- $band = trim($resultArray[0]);
+ $bandname = trim($resultArray[0]);
$venue = trim($resultArray[1]);
$condate = date('Y-m-d', strtotime($resultArray[2]));
$ticketlink = trim($resultArray[3]);
@@ -69,7 +69,7 @@ if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
//first item in the row should be band $resultArray[0]; second should be venue $resultArray[1]; third should be concert date $resultArray[2];
//fourth item is ticketlink $resultArray[3]; fifth item is eventlink $resultArray[4];
- $newconcert[0] = GiglogAdmin_Band::create($band,'');
+ $band = GiglogAdmin_Band::create($bandname);
if (is_numeric($venue))
$newconcert[1] = $venue;
@@ -81,7 +81,7 @@ if ( !class_exists( 'GiglogAdmin_ImportGigsPage' ) ) {
//not sure how to check dates, hopefully manual verification of files will take care of it
GiglogAdmin_Concert::create(
- $newconcert[0],
+ $band->id(),
$newconcert[1],
$condate,
$ticketlink,
diff --git a/includes/band.php b/includes/band.php
index ad5ce28..13a816f 100644
--- a/includes/band.php
+++ b/includes/band.php
@@ -20,10 +20,10 @@ if ( !class_exists('GiglogAdmin_Band') ) {
$this->country = isset($attrs->country) ? $attrs->country : 'NO';
}
- static function create($bandname, $country)
+ static function create($bandname, $country = 'NO')
{
global $wpdb;
- if (empty($country)) $country = 'NO';
+
$bandsql = 'SELECT id FROM wpg_bands WHERE upper(wpgband_name)="' . $bandname . '" and wpgband_country = "'.$country.'"';
$results = $wpdb->get_results($bandsql);
$attrs = new stdClass();
@@ -37,20 +37,19 @@ if ( !class_exists('GiglogAdmin_Band') ) {
}
else
{
+ $attrs->id = '';
- $attrs->id = '';
-
- $bid = new GiglogAdmin_Band($attrs);
- $bid->save();
+ $bid = new GiglogAdmin_Band($attrs);
+ $bid->save();
- error_log( 'NEW BAND ADDED: '
- . ' ID: ' . $bid -> id()
- . ' BAND NAME ' . $bandname
- . ', COUNTRY ' . $country);
+ error_log( 'NEW BAND ADDED: '
+ . ' ID: ' . $bid -> id()
+ . ' BAND NAME ' . $bandname
+ . ', COUNTRY ' . $country);
}
- return ($bid->id());
+ return $bid;
}
diff --git a/tests/BandTest.php b/tests/BandTest.php
new file mode 100644
index 0000000..764abe3
--- /dev/null
+++ b/tests/BandTest.php
@@ -0,0 +1,22 @@
+<?php
+// SPDX-FileCopyrightText: 2021 Andrea Chirulescu <andrea.chirulescu@gmail.com>
+// SPDX-FileCopyrightText: 2021 Harald Eilertsen <haraldei@anduin.net>
+//
+// SPDX-License-Identifier: AGPL-3.0-or-later
+
+declare(strict_types=1);
+
+require __DIR__ . '/../includes/band.php';
+
+final class BandTest extends WP_UnitTestCase
+{
+ public function testCreatingBandWithName(): void
+ {
+ $count = count(GiglogAdmin_Band::all_bands());
+
+ $band = GiglogAdmin_Band::create("The Flamboyant Blasphemers");
+
+ $this->assertEquals("The Flamboyant Blasphemers", $band->bandname());
+ $this->assertEquals($count + 1, count(GiglogAdmin_Band::all_bands()));
+ }
+}