Skip to content

Commit 8271641

Browse files
committed
test: prep for the restof the create tests
1 parent 8581377 commit 8271641

File tree

1 file changed

+182
-1
lines changed

1 file changed

+182
-1
lines changed

schema/test/unit/mutations/commit_form_change_internal_test.sql

Lines changed: 182 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ update cif.form_change set new_form_data='{
9999
and form_data_table_name='project';
100100
select cif.commit_project_revision(1);
101101

102-
102+
-- create the amendment that will be "pending"
103103
select cif.create_project_revision(1, 'Amendment'); -- id = 2
104104
update cif.form_change set new_form_data='{
105105
"projectName": "Correct",
@@ -112,6 +112,7 @@ update cif.form_change set new_form_data='{
112112
where project_revision_id=2
113113
and form_data_table_name='project';
114114

115+
-- create the general revision that will be "committing"
115116
select cif.create_project_revision(1, 'General Revision'); -- id = 3
116117
update cif.form_change set new_form_data='{
117118
"projectName": "Incorrect",
@@ -267,6 +268,186 @@ select is (
267268
'The project table should have the updated proejct name, even after the pending amendment is committed'
268269
);
269270

271+
-- Test when committing is creating records of types that already exist in pending
272+
truncate table cif.project, cif.operator, cif.contact, cif.attachment restart identity cascade;
273+
insert into cif.operator(legal_name) values ('test operator');
274+
insert into cif.contact(given_name, family_name, email) values ('John', 'Test', 'foo@abc.com'), ('Sandy', 'Olson', 'bar@abc.com');
275+
insert into cif.attachment (description, file_name, file_type, file_size)
276+
values ('description1', 'file_name1', 'file_type1', 100), ('description2', 'file_name2', 'file_type1', 100);
277+
278+
select cif.create_project(1); -- id = 1
279+
update cif.form_change set new_form_data='{
280+
"projectName": "name",
281+
"summary": "original (incorrect at point of test)",
282+
"fundingStreamRfpId": 1,
283+
"projectStatusId": 1,
284+
"proposalReference": "1235",
285+
"operatorId": 1
286+
}'::jsonb
287+
where project_revision_id=1
288+
and form_data_table_name='project';
289+
select cif.commit_project_revision(1);
290+
291+
-- create the amendment that will be "pending"
292+
select cif.create_project_revision(1, 'Amendment'); -- id = 2
293+
-- Add necessary form changes for tests
294+
select cif.add_contact_to_revision(2, 1, 1);
295+
select cif.create_form_change(
296+
'create',
297+
'funding_parameter_EP',
298+
'cif',
299+
'funding_parameter',
300+
json_build_object(
301+
'projectId', 1,
302+
'provinceSharePercentage', 1
303+
)::jsonb,
304+
null,
305+
2
306+
);
307+
select cif.create_form_change(
308+
'create',
309+
'project_manager',
310+
'cif',
311+
'project_manager',
312+
json_build_object(
313+
'projectManagerLabelId', 1,
314+
'cifUserId', 1,
315+
'projectId', 1
316+
)::jsonb,
317+
null,
318+
2
319+
);
320+
select cif.create_form_change(
321+
'create',
322+
'reporting_requirement',
323+
'cif',
324+
'reporting_requirement',
325+
json_build_object(
326+
'reportType', 'Quarterly',
327+
'reportingRequirementIndex', 1,
328+
'projectId', 1
329+
)::jsonb,
330+
null,
331+
2
332+
);
333+
select cif.create_form_change(
334+
'create',
335+
'milestone',
336+
'cif',
337+
'reporting_requirement',
338+
json_build_object(
339+
'reportType', 'General Milestone',
340+
'reportingRequirementIndex', 1
341+
)::jsonb,
342+
null,
343+
2
344+
);
345+
select cif.add_project_attachment_to_revision(2,1);
346+
347+
-- create the general revision that will be "committing"
348+
select cif.create_project_revision(1, 'General Revision'); -- id = 3
349+
-- Add necessary form changes for tests
350+
select cif.add_contact_to_revision(3, 1, 2);
351+
select cif.create_form_change(
352+
'create',
353+
'funding_parameter_EP',
354+
'cif',
355+
'funding_parameter',
356+
json_build_object(
357+
'projectId', 1,
358+
'provinceSharePercentage', 2
359+
)::jsonb,
360+
null,
361+
3
362+
);
363+
select cif.create_form_change(
364+
'create',
365+
'project_manager',
366+
'cif',
367+
'project_manager',
368+
json_build_object(
369+
'projectManagerLabelId', 1,
370+
'cifUserId', 1,
371+
'projectId', 1
372+
)::jsonb,
373+
null,
374+
3
375+
);
376+
select cif.create_form_change(
377+
'create',
378+
'project_manager',
379+
'cif',
380+
'project_manager',
381+
json_build_object(
382+
'projectManagerLabelId', 2,
383+
'cifUserId', 2,
384+
'projectId', 1
385+
)::jsonb,
386+
null,
387+
3
388+
);
389+
select cif.create_form_change(
390+
'create',
391+
'reporting_requirement',
392+
'cif',
393+
'reporting_requirement',
394+
json_build_object(
395+
'reportType', 'Quarterly',
396+
'reportingRequirementIndex', 1,
397+
'projectId', 1
398+
)::jsonb,
399+
null,
400+
3
401+
);
402+
select cif.create_form_change(
403+
'create',
404+
'reporting_requirement',
405+
'cif',
406+
'reporting_requirement',
407+
json_build_object(
408+
'reportType', 'Quarterly',
409+
'reportingRequirementIndex', 2,
410+
'projectId', 1
411+
)::jsonb,
412+
null,
413+
3
414+
);
415+
select cif.create_form_change(
416+
'create',
417+
'milestone',
418+
'cif',
419+
'reporting_requirement',
420+
json_build_object(
421+
'reportType', 'General Milestone',
422+
'reportingRequirementIndex', 1
423+
)::jsonb,
424+
null,
425+
3
426+
);
427+
select cif.create_form_change(
428+
'create',
429+
'milestone',
430+
'cif',
431+
'reporting_requirement',
432+
json_build_object(
433+
'reportType', 'General Milestone',
434+
'reportingRequirementIndex', 2
435+
)::jsonb,
436+
null,
437+
3
438+
);
439+
select cif.add_project_attachment_to_revision(3,1);
440+
select cif.add_project_attachment_to_revision(3,2);
441+
442+
select cif.commit_project_revision(3);
443+
444+
-- emission_intensity
445+
-- project_contact
446+
-- project_manager projectManagerLabelId 1 is update and 2 is created in pending
447+
-- reporting_requirement should be 3 total with 1,2,3 for reportingRequirementIndex
448+
-- milestone should be 3 total with 1,2,3 for reportingRequirementIndex
449+
-- attachment
450+
270451
select finish();
271452

272453
rollback;

0 commit comments

Comments
 (0)