Add find_opinions.sql
This commit is contained in:
1
.idea/runConfigurations/Test_All_SQL.xml
generated
1
.idea/runConfigurations/Test_All_SQL.xml
generated
@@ -52,6 +52,7 @@
|
||||
<option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/find_citizen_opinions_by_target_id.sql" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/find_citizen_opinions_by_target_ids.sql" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/opinion.sql" />
|
||||
<option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/find_opinions.sql" />
|
||||
<option value="$PROJECT_DIR$/src/test/sql/user.sql" />
|
||||
<option value="$PROJECT_DIR$/src/test/sql/citizen.sql" />
|
||||
<option value="$PROJECT_DIR$/src/test/sql/article.sql" />
|
||||
|
||||
19
src/main/resources/sql/functions/opinion/find_opinions.sql
Normal file
19
src/main/resources/sql/functions/opinion/find_opinions.sql
Normal file
@@ -0,0 +1,19 @@
|
||||
create or replace function find_opinions(out resource json)
|
||||
language plpgsql as
|
||||
$$
|
||||
begin
|
||||
select json_agg(t)
|
||||
into resource
|
||||
from (
|
||||
select ol.*
|
||||
from opinion_list ol
|
||||
where ol.deleted_at <= now()
|
||||
or ol.deleted_at is null
|
||||
order by ol.name
|
||||
) t;
|
||||
end;
|
||||
$$;
|
||||
|
||||
-- drop function if exists find_opinions();
|
||||
|
||||
-- select find_opinions();
|
||||
@@ -93,6 +93,10 @@ begin
|
||||
from find_citizen_opinions_by_target_ids(_citizen_id, array[(created_article->>'id')::uuid]) o),
|
||||
'The first opinion must have a name';
|
||||
|
||||
assert(
|
||||
select find_opinions()#>>'{0, name}' = 'Opinion1'
|
||||
), 'find_opinions mst be return all opinions';
|
||||
|
||||
-- delete vote and context
|
||||
delete from opinion;
|
||||
delete from opinion_list;
|
||||
|
||||
Reference in New Issue
Block a user