123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace Tests\tripal_chado\api;
- use StatonLab\TripalTestSuite\DBTransaction;
- use StatonLab\TripalTestSuite\TripalTestCase;
- class TripalChadoAPITest extends TripalTestCase {
- use DBTransaction;
- /**
- * Test the ability to publish Chado organism records as entities.
- *
- * @group api
- * @group failing
- */
- public function test_tripal_chado_publish_records() {
- $genus_string = 'a_genius_genus';
- // Create an organism, publish it
- $organism = factory('chado.organism')->create([
- 'genus' => $genus_string,
- 'species' => 'fake_species',
- ]);
- // Get bundle ID for organism
- $bundle = db_select('public.chado_bundle', 'CB')
- ->fields('CB', ['bundle_id'])
- ->condition('data_table', 'organism')
- ->execute()
- ->fetchField();
- $values = ['bundle_name' => 'bio_data_' . $bundle];
- // Don't display the job message
- $bool = silent(function () use ($values) {
- return chado_publish_records($values);
- });
- $this->assertTrue($bool->getReturnValue(),
- 'Publishing a fake organism record failed');
- // Ensure that our entity was created
- $query = db_select('chado.organism', 'O')->fields('O', ['organism_id']);
- $query->join('public.chado_bio_data_' . $bundle, 'CBD',
- 'O.organism_id = CBD.record_id');
- $query->condition('O.genus', $genus_string);
- $organism_id = $query->execute()->fetchField();
- $this->assertNotNull($organism_id,
- 'Organism with record ID not found in chado_bio_data table.');
- }
- /**
- * Test chado_publish_records returns false given bad bundle.
- *
- * @group api
- */
- public function test_tripal_chado_publish_records_false_with_bad_bundle() {
- $bool = silent(function () {
- return chado_publish_records(['bundle_name' => 'never_in_a_million_years']);
- });
- $this->assertFalse($bool->getReturnValue());
- }
- /**
- * calls chado_get_tokens.
- *
- * @group api
- */
- public function test_chado_get_tokens() {
- $tokens = chado_get_tokens('organism');
- $this->assertNotEmpty($tokens);
- $this->assertArrayHasKey('[organism.organism_id]', $tokens);
- }
- }
|