Skip to content
Snippets Groups Projects
Verified Commit 7ccdeb24 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

TST: basic test cases for insert, update, delete

parent f94515cf
Branches
Tags
No related merge requests found
USE _caosdb_schema_unit_tests;
BEGIN;
CALL tap.no_plan();
-- SETUP
CALL entityACL(@ACLID1, "{acl1}");
CALL entityACL(@ACLID2, "{acl2}");
SELECT id into @TextDatatypeID FROM entities WHERE name ="TEXT" and role="DATATYPE";
-- TESTS
-- TEST insertEntity
SELECT COUNT(id) INTO @x FROM entities WHERE id>100;
SELECT tap.eq(@x, 0, "No entities");
CALL insertEntity("EntityName", "EntityDesc", "RECORDTYPE", "{acl1}");
SELECT COUNT(id) INTO @x FROM entities WHERE name="EntityName";
SELECT tap.eq(@x, 1, "Entity has been inserted");
SELECT acl INTO @x FROM entities WHERE name="EntityName";
SELECT tap.eq(@x, @ACLID1, "correct acl id had been assigned");
SELECT id INTO @EntityID FROM entities WHERE name="EntityName";
SELECT tap.ok(@EntityID > 100, "EntityID greater 100");
-- TEST insertEntityProperty
CALL insertEntity("AProperty", "APropDesc", "PROPERTY", "{acl1}");
SELECT id INTO @PropID FROM entities WHERE name="AProperty";
INSERT INTO data_type (domain_id, entity_id, property_id, datatype) VALUES (0, 0, @PropID, @TextDatatypeID);
SELECT COUNT(*) INTO @x FROM null_data;
SELECT tap.eq(@x, 0, "No data in null_data table");
CALL insertEntityProperty(0, @EntityID, @PropID, "null_data", NULL, NULL, "RECOMMENDED", NULL, NULL, NULL, NULL, 0);
SELECT COUNT(*) INTO @x FROM null_data;
SELECT tap.eq(@x, 1, "One row in null_data table");
-- TEST updateEntity
CALL updateEntity(@EntityID, "NewEntityName", "NewEntityDesc", "RECORD", NULL, NULL, "{acl2}");
SELECT COUNT(id) INTO @x FROM entities WHERE name="EntityName";
SELECT tap.eq(@x, 0, "Old Entity name not present");
SELECT COUNT(id) INTO @x FROM entities WHERE name="NewEntityName";
SELECT tap.eq(@x, 1, "Entity name has been updated");
SELECT acl INTO @x FROM entities WHERE name="NewEntityName";
SELECT tap.eq(@x, @ACLID2, "acl has been updated");
-- TEST deleteEntityProperties
CALL deleteEntityProperties(@EntityID);
SELECT COUNT(*) INTO @x FROM null_data;
SELECT tap.eq(@x, 0, "data removed from null_data table");
-- TEST deleteEntity
CALL deleteEntity(@EntityID);
CALL deleteEntity(@PropID);
SELECT COUNT(id) INTO @x FROM entities WHERE id>100;
SELECT tap.eq(@x, 0, "entity deleted");
-- TESTS END
CALL tap.finish();
ROLLBACK;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment