summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* tests: Make an actual test for ConcertsTableHarald Eilertsen2021-09-111-5/+24
| | | | | | | | | | | There's a bit of setup to make this work as it should, we need to ensure that the current user and current screen is set to proper values so that the WordPress api's `is_admin()` and `current_user_can()` work as they should. This first test just tests that all the expected forms are being rendered for the admin user accessing the table through the site admin interface.
* Throw instead of log error from Concert class.Harald Eilertsen2021-09-061-4/+4
| | | | | Should get rid of most of the annoying output during testing, and allow moving error handling and logging to the presentation layer.
* Use find_concerts to check for duplicates on create.Harald Eilertsen2021-09-061-0/+16
| | | | This also adds a number of new filters to find_concerts.
* Add test for ConcertsTableHarald Eilertsen2021-09-051-0/+94
|
* test: concertlogs table is gone, no need to clear itHarald Eilertsen2021-09-051-1/+0
|
* Fix tests.Harald Eilertsen2021-09-051-0/+1
| | | | | Since the plugin only should load on the admin side, set the WP_ADMIN constant before loading it in the tests.
* Fix saving and fetching roles from Concerts table.Harald Eilertsen2021-09-011-19/+4
|
* Begin move roles and status field to concerts table.Harald Eilertsen2021-06-271-0/+25
|
* Remove Band class and tests.Harald Eilertsen2021-06-271-69/+0
|
* Refactor ConcertTest some more.Harald Eilertsen2021-06-271-58/+25
| | | | | Create more of the concerts used by tests into the wpSetupBeforeClass hook.
* Refactor ConcertTests and some cleanupHarald Eilertsen2021-06-271-68/+75
| | | | | | | | | | | The commit changes the way we populate the database for the tests by creating more entries up front. This reduces the amount of duplicated code between the tests, but also introduce some challenges. As modifications to the database done in the wpSetUpBeforeClass hook are not cleaned up automatically by the WP_PHPUnit framework, we also have to add a wpTearDownAfterClass hook so anything we set up in this class does not disturb any other tests in other classes.
* Begin move roles and status field to concerts table.Harald Eilertsen2021-06-141-0/+24
| | | | There's no need to have a separate table (concertlogs) for these fields.
* Streamline Concert api.Harald Eilertsen2021-06-121-7/+7
| | | | | Reduce to one find_concerts function taking a filter to limit the selection.
* Allow custom text for no selection in select_fields.Harald Eilertsen2021-05-241-0/+17
|
* Add function to generate selection boxes.Harald Eilertsen2021-05-241-0/+53
|
* Make it possible to list all concerts.Harald Eilertsen2021-05-101-0/+23
|
* Method to find concerts at given venueHarald Eilertsen2021-05-091-0/+40
|
* Method to find concerts for a given city.Harald Eilertsen2021-05-091-0/+41
|
* Include info from venue in concerts.Harald Eilertsen2021-05-091-1/+20
| | | | | | | | | | | | | | | | | | | | This makes the concert a full object containing all relevant info, while we can still segment the data in the db. Instead of this: $concert = GiglogAdmin_Concert::get($concert_id); $venue = GiglogAdmin_Venue::get($concert->venue()); echo "{$concert->name()} @ {$venue->name()} : {$concert->cdate()}" You can now do: $concert = GiglogAdmin_Concert::get($concert_id); echo "{$concert->name()} @ {$concert->venue()->name()} : {$concert->cdate()}" And yeah, renamed Concert::find_cid() to Concert::get() and changed it's semantics somewhat. It now either returns the given concert if it exists, or NULL if it does not. Simpler function; simpler to use.
* Add missing license tags to files.Harald Eilertsen2021-04-261-0/+5
|
* added venue test to check duplicate with all letter casesAndreaChirulescu2021-04-241-0/+11
| | | | CSS for edit form in giglog
* Added an uppercase in sql for venue and concert duplicate checkAndreaChirulescu2021-04-231-0/+22
| | | | Added test to create duplicate concert with varied cases in string
* Concert::create return NULL if concert already exist.Harald Eilertsen2021-04-221-1/+1
| | | | | | We probably need some better error handling here. There's a myriad of reasons why this call could fail, and we might need to communicate the failure reason somewhere.
* Add some tests for Concert class.Harald Eilertsen2021-04-221-0/+49
|
* Fix Bands class constructor.Harald Eilertsen2021-04-211-0/+2
| | | | | | The expected attributes did not have names corresponding with the table columns, which meant that creating a band directly from a returned table row did not produce the expected result.
* Refactor BandTest.Harald Eilertsen2021-04-181-13/+22
| | | | Set up a test env before running the test cases.
* Add a few more tests for GoglogAdmin_Band class.Harald Eilertsen2021-04-161-0/+28
| | | | | Sidenote: UK is not included in the country list. Did the brexit everything?
* Refactor Band::create into Band::find and ::createHarald Eilertsen2021-04-151-1/+9
| | | | | | Not sure if it's a good idea to have `create` return an existing band. Will have to look at callsites to see if it should be renamed back or if the callsite should be changed.
* Make Band::create return band object, not just id.Harald Eilertsen2021-04-151-0/+22
|
* Fix test setup for wp-env.Harald Eilertsen2021-04-153-65/+63
| | | | | | | | | | | | | | | | | | | | | | | | | After much reading I finally found the magic incantations, so now we can run tests with real database access. This means we no longer need the primitive $wpdb_stub. The setup as now _requires_ wp-env, or an environment set up sufficiently similar. Running in wp-env is the easiest, so aim for that. I've added a `run-tests` script that will invoke the magic incantation without having to remember it every time. To set up for testing: 1. make sure you have composer[1] installed. 2. run `composer install` 3. make sure you have wp-env[2] installed 4. start the wordpress env: `wp-env start` 5. run the tests: `./run-tests` Let the thousand tests bloom! [1]: https://github.com/wp-phpunit/wp-phpunit [2]: https://www.npmjs.com/package/@wordpress/env
* Use (object) notation to create plain objects.Harald Eilertsen2021-04-141-17/+22
|
* Add license comment _after_ the php opening tag.Harald Eilertsen2021-04-142-2/+2
|
* Switch to Reuse for license handling.Harald Eilertsen2021-04-142-0/+10
| | | | Run `reuse lint` to verify that all material is licensed.
* Change venues into proper objects.Harald Eilertsen2021-04-102-0/+101
This means most static functions now either return a venue object, or an array of venue objects. The exception is the `all_cities` method, which still return an array of cities as strings. The constructor has been made private, as it should not be used directly from anywhere but the static methods on the Venue class.