2011-12-19 16:00:01 +01:00
|
|
|
/*
|
|
|
|
* Test the defs.uoc_resource() functions
|
|
|
|
*/
|
|
|
|
BEGIN;
|
|
|
|
|
|
|
|
/* We need a few strings to be used when creating resource definitions, and a natural resource. */
|
|
|
|
\i utils/strings.sql
|
|
|
|
\i utils/resources.sql
|
|
|
|
SELECT _create_test_strings( 7 );
|
|
|
|
SELECT _create_natural_resources( 1 , 'natRes' );
|
|
|
|
|
|
|
|
/****** TESTS BEGIN HERE ******/
|
2012-01-10 10:48:56 +01:00
|
|
|
SELECT plan( 24 );
|
2011-12-19 16:00:01 +01:00
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - NULL name (no category)' );
|
|
|
|
SELECT is( defs.uoc_resource( NULL , 'test2' , 1 ) , NULL );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - NULL description (no category)' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test1' , NULL , 1 ) , NULL );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - NULL weight (no category)' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test1' , 'test2' , NULL ) , NULL );
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - NULL name (with category)' );
|
|
|
|
SELECT is( defs.uoc_resource( NULL , 'test2' , 'test3' , 1 ) , NULL );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - NULL description (with category)' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test1' , NULL , 'test3' , 1 ) , NULL );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - NULL category' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test1' , 'test2' , NULL , 1 ) , NULL );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - NULL weight (with category)' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test1' , 'test2' , 'test3' , NULL ) , NULL );
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - creation without category' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test3' , 'test4' , 1 ) , 'CREATED' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - creation results without category' );
|
|
|
|
SELECT results_eq(
|
|
|
|
$$ SELECT resource_name_id , resource_description_id , resource_weight
|
|
|
|
FROM defs.resources
|
|
|
|
WHERE resource_name_id = _get_string( 'test3' )
|
|
|
|
AND resource_category_id IS NULL $$ ,
|
|
|
|
$$ VALUES ( _get_string( 'test3' ) , _get_string( 'test4' ) , 1 ) $$
|
|
|
|
);
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - creation with category' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test5' , 'test6' , 'test7' , 1 ) , 'CREATED' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - creation results with category' );
|
|
|
|
SELECT results_eq(
|
|
|
|
$$ SELECT * FROM defs.resources
|
|
|
|
WHERE resource_name_id = _get_string( 'test5' ) $$ ,
|
|
|
|
$$ VALUES ( _get_string( 'test5' ) , _get_string( 'test6' ) , _get_string( 'test7' ) , 1 ) $$
|
|
|
|
);
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - update without category' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test3' , 'test7', 2 ) , 'UPDATED' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - update results without category' );
|
|
|
|
SELECT results_eq(
|
|
|
|
$$ SELECT resource_name_id , resource_description_id , resource_weight
|
|
|
|
FROM defs.resources
|
|
|
|
WHERE resource_name_id = _get_string( 'test3' )
|
|
|
|
AND resource_category_id IS NULL $$ ,
|
|
|
|
$$ VALUES ( _get_string( 'test3' ) , _get_string( 'test7' ) , 2 ) $$
|
|
|
|
);
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - update with category' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test3' , 'test4' , 'test7' , 1 ) , 'UPDATED' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - update results with category' );
|
|
|
|
SELECT results_eq(
|
|
|
|
$$ SELECT * FROM defs.resources
|
|
|
|
WHERE resource_name_id = _get_string( 'test3' ) $$ ,
|
|
|
|
$$ VALUES ( _get_string( 'test3' ) , _get_string( 'test4' ) , _get_string( 'test7' ) , 1 ) $$
|
|
|
|
);
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - incorrect name string' );
|
|
|
|
SELECT is( defs.uoc_resource( 'does-not-exist' , 'test2' , 1 ) , 'BAD_STRINGS' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - incorrect description string' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test1' , 'does-not-exist' , 1 ) , 'BAD_STRINGS' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - incorrect category string' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test1' , 'test2' , 'does-not-exist' , 1 ) , 'BAD_STRINGS' );
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - duplicate description on new resource' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test1' , 'test4' , 1 ) , 'DUP_DESCR' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - duplicate description on existing resource' );
|
|
|
|
SELECT is( defs.uoc_resource( 'test5' , 'test4' , 1 ) , 'DUP_DESCR' );
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - update on natural resource' );
|
|
|
|
SELECT is( defs.uoc_resource( 'natRes1' , 'test2' , 1 ) , 'BAD_TYPE' );
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - weight <= 0' );
|
|
|
|
SELECT is( defs.uoc_resource( 'natRes1' , 'test2' , 0 ) , 'BAD_VALUE' );
|
|
|
|
|
2012-01-10 10:48:56 +01:00
|
|
|
/* Reset resources, create empire */
|
|
|
|
DELETE FROM defs.natural_resources;
|
|
|
|
DELETE FROM defs.resources;
|
|
|
|
ALTER TABLE emp.empires
|
|
|
|
DROP CONSTRAINT fk_empires_name;
|
|
|
|
INSERT INTO emp.empires ( name_id , cash )
|
|
|
|
VALUES ( 1 , 0 );
|
|
|
|
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - new resources are added to empires (no category)' );
|
|
|
|
SELECT defs.uoc_resource( 'test1' , 'test2' , 1 );
|
|
|
|
SELECT is( COUNT(*)::INT , 1 )
|
|
|
|
FROM emp.resources
|
|
|
|
WHERE empire_id = 1
|
|
|
|
AND resource_name_id = _get_string( 'test1' );
|
|
|
|
SELECT diag_test_name( 'defs.uoc_resource() - new resources are added to empires' );
|
|
|
|
SELECT defs.uoc_resource( 'test3' , 'test4' , 'test5' , 1 );
|
|
|
|
SELECT is( COUNT(*)::INT , 1 )
|
|
|
|
FROM emp.resources
|
|
|
|
WHERE empire_id = 1
|
|
|
|
AND resource_name_id = _get_string( 'test3' );
|
|
|
|
|
2011-12-19 16:00:01 +01:00
|
|
|
SELECT * FROM finish( );
|
|
|
|
ROLLBACK;
|