kuality-coeus 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +1 -1
- data/Gemfile.lock +16 -18
- data/chromedriver.log +46 -0
- data/features/grants_gov/grants_gov_forms/code_and_form_mapping.feature +26 -0
- data/features/grants_gov/grants_gov_forms/forms_validation.feature +1 -0
- data/features/grants_gov/grants_gov_forms/s2s_questionnaire.feature +19 -0
- data/features/grants_gov/s2s_submission.feature +30 -0
- data/features/grants_gov/s2s_validation.feature +36 -0
- data/features/proposal_development/create_budget_versions.feature +31 -0
- data/features/proposal_development/create_proposal.feature +25 -0
- data/features/proposal_development/key_personnel_validations.feature +41 -0
- data/features/proposal_development/proposal_actions_validations.feature +46 -0
- data/features/proposal_development/proposal_permissions.feature +73 -0
- data/features/proposal_development/proposal_workflow.feature +105 -0
- data/features/proposal_development/special_review_validations.feature +12 -0
- data/features/step_definitions/action_list.rb +12 -0
- data/features/step_definitions/awards/create_award.rb +3 -0
- data/features/step_definitions/grants_gov/forms.rb +34 -0
- data/features/step_definitions/grants_gov/s2s_submission.rb +51 -0
- data/features/step_definitions/institutional_proposals/create_institutional_proposal.rb +3 -0
- data/features/step_definitions/proposal_development/budget_versions.rb +102 -0
- data/features/step_definitions/proposal_development/create_proposal.rb +157 -0
- data/features/step_definitions/proposal_development/edit_proposal.rb +79 -0
- data/features/step_definitions/proposal_development/institute_rates.rb +21 -0
- data/features/step_definitions/proposal_development/key_personnel_validations.rb +74 -0
- data/features/step_definitions/proposal_development/proposal_actions_validations.rb +73 -0
- data/features/step_definitions/proposal_development/proposal_permissions.rb +141 -0
- data/features/step_definitions/proposal_development/proposal_workflow.rb +81 -0
- data/features/step_definitions/proposal_development/s2s_validation.rb +30 -0
- data/features/step_definitions/proposal_development/special_review_validations.rb +7 -0
- data/features/step_definitions/test.rb +3 -0
- data/features/step_definitions/users.rb +65 -0
- data/features/support/env.rb +35 -0
- data/features/test.feature +13 -0
- data/kuality-coeus.gemspec +1 -1
- data/lib/chromedriver.log +4483 -0
- data/lib/kuality-coeus.rb +5 -2
- data/lib/kuality-coeus/core_extensions.rb +10 -0
- data/lib/kuality-coeus/data_objects/award/award.rb +126 -0
- data/lib/kuality-coeus/data_objects/award/award_transaction.rb +57 -0
- data/lib/kuality-coeus/data_objects/budget/budget_periods.rb +114 -0
- data/lib/kuality-coeus/data_objects/budget/budget_versions.rb +221 -0
- data/lib/kuality-coeus/data_objects/budget/subaward_budget.rb +65 -0
- data/lib/kuality-coeus/data_objects/committee_document/committee_document.rb +65 -0
- data/lib/kuality-coeus/data_objects/committee_document/committee_members.rb +30 -0
- data/lib/kuality-coeus/data_objects/committee_document/committee_schedule.rb +27 -0
- data/lib/kuality-coeus/data_objects/committee_document/member_roles.rb +28 -0
- data/lib/kuality-coeus/data_objects/conflict_of_interest/financial_entity.rb +48 -0
- data/lib/kuality-coeus/data_objects/grants_gov/phs_fellowship_questionnaire.rb +90 -0
- data/lib/kuality-coeus/data_objects/grants_gov/phs_training_budget_questionnaire.rb +5 -0
- data/lib/kuality-coeus/data_objects/institutional_proposal/institutional_proposal.rb +20 -0
- data/lib/kuality-coeus/data_objects/institutional_proposal/intellectual_property_review.rb +62 -0
- data/lib/kuality-coeus/data_objects/navigation.rb +64 -0
- data/lib/kuality-coeus/data_objects/proposal_development/compliance_questions.rb +47 -0
- data/lib/kuality-coeus/data_objects/proposal_development/custom_data.rb +41 -0
- data/lib/kuality-coeus/data_objects/proposal_development/degrees.rb +40 -0
- data/lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb +299 -0
- data/lib/kuality-coeus/data_objects/proposal_development/kuali_university_questions.rb +58 -0
- data/lib/kuality-coeus/data_objects/proposal_development/permissions.rb +107 -0
- data/lib/kuality-coeus/data_objects/proposal_development/personnel_attachments.rb +46 -0
- data/lib/kuality-coeus/data_objects/proposal_development/proposal_attachments.rb +41 -0
- data/lib/kuality-coeus/data_objects/proposal_development/proposal_development.rb +301 -0
- data/lib/kuality-coeus/data_objects/proposal_development/proposal_questions.rb +52 -0
- data/lib/kuality-coeus/data_objects/proposal_development/s2s_questionnaire.rb +129 -0
- data/lib/kuality-coeus/data_objects/proposal_development/special_review.rb +79 -0
- data/lib/kuality-coeus/data_objects/rates/institute_rate.rb +209 -0
- data/lib/kuality-coeus/data_objects/user.rb +303 -33
- data/lib/kuality-coeus/gem_extensions.rb +26 -0
- data/lib/kuality-coeus/page_objects/000_base_page.rb +196 -14
- data/lib/kuality-coeus/page_objects/action_list.rb +32 -0
- data/lib/kuality-coeus/page_objects/award/award.rb +25 -0
- data/lib/kuality-coeus/page_objects/award/award_actions.rb +7 -0
- data/lib/kuality-coeus/page_objects/award/award_budget_versions.rb +9 -0
- data/lib/kuality-coeus/page_objects/award/commitments.rb +27 -0
- data/lib/kuality-coeus/page_objects/award/contacts.rb +19 -0
- data/lib/kuality-coeus/page_objects/award/custom_data.rb +6 -0
- data/lib/kuality-coeus/page_objects/award/payment_reports_terms.rb +26 -0
- data/lib/kuality-coeus/page_objects/award/special_review.rb +7 -0
- data/lib/kuality-coeus/page_objects/award/time_and_money.rb +36 -0
- data/lib/kuality-coeus/page_objects/budget/budget_actions.rb +31 -0
- data/lib/kuality-coeus/page_objects/budget/budget_versions.rb +13 -0
- data/lib/kuality-coeus/page_objects/budget/modular_budget.rb +16 -0
- data/lib/kuality-coeus/page_objects/budget/non-personnel.rb +11 -0
- data/lib/kuality-coeus/page_objects/budget/parameters.rb +65 -0
- data/lib/kuality-coeus/page_objects/budget/personnel.rb +56 -0
- data/lib/kuality-coeus/page_objects/budget/rates.rb +7 -0
- data/lib/kuality-coeus/page_objects/budget/summary.rb +5 -0
- data/lib/kuality-coeus/page_objects/budget_document.rb +19 -0
- data/lib/kuality-coeus/page_objects/central_admin.rb +4 -2
- data/lib/kuality-coeus/page_objects/committee/committee.rb +10 -10
- data/lib/kuality-coeus/page_objects/committee/members.rb +4 -4
- data/lib/kuality-coeus/page_objects/committee_document.rb +1 -6
- data/lib/kuality-coeus/page_objects/confirmation.rb +16 -0
- data/lib/kuality-coeus/page_objects/disclosure/disclosure.rb +56 -0
- data/lib/kuality-coeus/page_objects/disclosure/disclosure_actions.rb +9 -0
- data/lib/kuality-coeus/page_objects/document_header.rb +5 -0
- data/lib/kuality-coeus/page_objects/financial_entities.rb +1 -4
- data/lib/kuality-coeus/page_objects/financial_entities/my_financial_entities.rb +6 -0
- data/lib/kuality-coeus/page_objects/financial_entities/new_financial_entity.rb +11 -0
- data/lib/kuality-coeus/page_objects/financial_entities/reporter.rb +5 -3
- data/lib/kuality-coeus/page_objects/identity/person.rb +57 -0
- data/lib/kuality-coeus/page_objects/institute_rates_maintenance.rb +18 -0
- data/lib/kuality-coeus/page_objects/institutional_proposal.rb +18 -0
- data/lib/kuality-coeus/page_objects/institutional_proposal/contacts.rb +32 -0
- data/lib/kuality-coeus/page_objects/institutional_proposal/custom_data.rb +6 -0
- data/lib/kuality-coeus/page_objects/institutional_proposal/distribution.rb +20 -0
- data/lib/kuality-coeus/page_objects/institutional_proposal/institutional_proposal.rb +27 -0
- data/lib/kuality-coeus/page_objects/institutional_proposal/institutional_proposal_actions.rb +7 -0
- data/lib/kuality-coeus/page_objects/institutional_proposal/intellectual_property_review.rb +20 -0
- data/lib/kuality-coeus/page_objects/institutional_proposal/special_review.rb +6 -0
- data/lib/kuality-coeus/page_objects/kc_awards.rb +48 -0
- data/lib/kuality-coeus/page_objects/kc_protocol.rb +15 -0
- data/lib/kuality-coeus/page_objects/login.rb +4 -5
- data/lib/kuality-coeus/page_objects/lookup_pages/000_lookups.rb +10 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/action_list_filter.rb +6 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/address_book_lookup.rb +4 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/development_proposal_lookup.rb +3 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/document_search.rb +10 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/group_lookup.rb +3 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/institute_rates_lookup.rb +12 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/opportunity_lookup.rb +6 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/organization_lookup.rb +5 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/person_extended_attributes.rb +5 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/person_lookup.rb +10 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/role_lookup.rb +6 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/sponsor_lookup.rb +9 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/unit_admin_lookup.rb +3 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/unit_lookup.rb +3 -0
- data/lib/kuality-coeus/page_objects/maintenance.rb +7 -0
- data/lib/kuality-coeus/page_objects/notification_editor.rb +6 -0
- data/lib/kuality-coeus/page_objects/proposal_development.rb +7 -2
- data/lib/kuality-coeus/page_objects/proposal_development/abstracts_and_attachments.rb +54 -0
- data/lib/kuality-coeus/page_objects/proposal_development/key_personnel.rb +126 -0
- data/lib/kuality-coeus/page_objects/proposal_development/pd_custom_data.rb +6 -0
- data/lib/kuality-coeus/page_objects/proposal_development/permissions.rb +44 -0
- data/lib/kuality-coeus/page_objects/proposal_development/phs_fellowship_questionnaire.rb +44 -0
- data/lib/kuality-coeus/page_objects/proposal_development/phs_training_budget_questionnaire.rb +50 -0
- data/lib/kuality-coeus/page_objects/proposal_development/proposal.rb +47 -8
- data/lib/kuality-coeus/page_objects/proposal_development/proposal_actions.rb +62 -0
- data/lib/kuality-coeus/page_objects/proposal_development/proposal_summary.rb +9 -0
- data/lib/kuality-coeus/page_objects/proposal_development/questions.rb +111 -0
- data/lib/kuality-coeus/page_objects/proposal_development/s2s.rb +35 -0
- data/lib/kuality-coeus/page_objects/proposal_development/special_review.rb +6 -0
- data/lib/kuality-coeus/page_objects/protocol/custom_data.rb +6 -0
- data/lib/kuality-coeus/page_objects/protocol/permissions.rb +5 -0
- data/lib/kuality-coeus/page_objects/protocol/personnel.rb +5 -0
- data/lib/kuality-coeus/page_objects/protocol/protocol.rb +11 -0
- data/lib/kuality-coeus/page_objects/protocol/questionnaire.rb +5 -0
- data/lib/kuality-coeus/page_objects/protocol/special_review.rb +6 -0
- data/lib/kuality-coeus/page_objects/rejection_confirmation.rb +5 -0
- data/lib/kuality-coeus/page_objects/researcher.rb +4 -2
- data/lib/kuality-coeus/page_objects/shared/unit_administrator.rb +13 -0
- data/lib/kuality-coeus/page_objects/system/person_extended_attributes.rb +18 -0
- data/lib/kuality-coeus/page_objects/system_admin.rb +7 -0
- data/lib/kuality-coeus/page_objects/unit.rb +2 -4
- data/lib/kuality-coeus/utilities.rb +39 -0
- data/libpeerconnection.log +0 -0
- metadata +140 -5
- data/lib/kuality-coeus/data_objects/committee_document.rb +0 -65
- data/lib/kuality-coeus/data_objects/proposal_development.rb +0 -53
- data/lib/kuality-coeus/navigation.rb +0 -3
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: http://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
|
|
5
|
-
builder (3.0.4)
|
|
4
|
+
builder (3.1.4)
|
|
6
5
|
childprocess (0.3.6)
|
|
7
6
|
ffi (~> 1.0, >= 1.0.6)
|
|
8
7
|
cucumber (1.2.1)
|
|
@@ -11,31 +10,30 @@ GEM
|
|
|
11
10
|
gherkin (~> 2.11.0)
|
|
12
11
|
json (>= 1.4.6)
|
|
13
12
|
diff-lcs (1.1.3)
|
|
14
|
-
ffi (1.
|
|
13
|
+
ffi (1.2.0)
|
|
15
14
|
gherkin (2.11.5)
|
|
16
15
|
json (>= 1.4.6)
|
|
17
|
-
json (1.7.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
rspec-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
rspec-core (2.11.1)
|
|
26
|
-
rspec-expectations (2.11.3)
|
|
16
|
+
json (1.7.6)
|
|
17
|
+
multi_json (1.5.0)
|
|
18
|
+
rspec (2.12.0)
|
|
19
|
+
rspec-core (~> 2.12.0)
|
|
20
|
+
rspec-expectations (~> 2.12.0)
|
|
21
|
+
rspec-mocks (~> 2.12.0)
|
|
22
|
+
rspec-core (2.12.2)
|
|
23
|
+
rspec-expectations (2.12.1)
|
|
27
24
|
diff-lcs (~> 1.1.3)
|
|
28
|
-
rspec-mocks (2.
|
|
25
|
+
rspec-mocks (2.12.1)
|
|
29
26
|
rubyzip (0.9.9)
|
|
30
|
-
selenium-webdriver (2.
|
|
27
|
+
selenium-webdriver (2.32.1)
|
|
31
28
|
childprocess (>= 0.2.5)
|
|
32
|
-
libwebsocket (~> 0.1.3)
|
|
33
29
|
multi_json (~> 1.0)
|
|
34
30
|
rubyzip
|
|
31
|
+
websocket (~> 1.0.4)
|
|
35
32
|
test-factory (0.1.3)
|
|
36
33
|
watir-webdriver (>= 0.6.1)
|
|
37
|
-
watir-webdriver (0.6.
|
|
34
|
+
watir-webdriver (0.6.4)
|
|
38
35
|
selenium-webdriver (>= 2.18.0)
|
|
36
|
+
websocket (1.0.6)
|
|
39
37
|
|
|
40
38
|
PLATFORMS
|
|
41
39
|
ruby
|
|
@@ -44,4 +42,4 @@ DEPENDENCIES
|
|
|
44
42
|
cucumber
|
|
45
43
|
rspec
|
|
46
44
|
test-factory (>= 0.1.3)
|
|
47
|
-
watir-webdriver (>= 0.6.
|
|
45
|
+
watir-webdriver (>= 0.6.4)
|
data/chromedriver.log
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[0.001][INFO]: ChromeDriver 21.0.1180.4 /Users/abrahamheward/.rvm/bin/chromedriver
|
|
2
|
+
[0.219][FINE]: Initializing session with capabilities {
|
|
3
|
+
"browserName": "chrome",
|
|
4
|
+
"chrome.detach": true,
|
|
5
|
+
"chromeOptions": {
|
|
6
|
+
"detach": true
|
|
7
|
+
},
|
|
8
|
+
"cssSelectorsEnabled": true,
|
|
9
|
+
"javascriptEnabled": true,
|
|
10
|
+
"nativeEvents": false,
|
|
11
|
+
"platform": "ANY",
|
|
12
|
+
"rotatable": false,
|
|
13
|
+
"takesScreenshot": false,
|
|
14
|
+
"version": ""
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
[0.221][INFO]: Using named testing interface
|
|
18
|
+
[0.751][INFO]: Connected to Chrome successfully. Version: 29.0.1547.41
|
|
19
|
+
[0.755][FINE]: Command received (/session/9e5aca74a1158f039ef697bc3a14cbd4)
|
|
20
|
+
[0.755][FINE]: Command finished (/session/9e5aca74a1158f039ef697bc3a14cbd4) with response {
|
|
21
|
+
"sessionId": "9e5aca74a1158f039ef697bc3a14cbd4",
|
|
22
|
+
"status": 0,
|
|
23
|
+
"value": {
|
|
24
|
+
"acceptSslCerts": false,
|
|
25
|
+
"applicationCacheEnabled": false,
|
|
26
|
+
"browserConnectionEnabled": false,
|
|
27
|
+
"browserName": "chrome",
|
|
28
|
+
"chrome.chromedriverVersion": "21.0.1180.4",
|
|
29
|
+
"chrome.nativeEvents": false,
|
|
30
|
+
"cssSelectorsEnabled": true,
|
|
31
|
+
"databaseEnabled": false,
|
|
32
|
+
"handlesAlerts": true,
|
|
33
|
+
"javascriptEnabled": true,
|
|
34
|
+
"locationContextEnabled": false,
|
|
35
|
+
"nativeEvents": true,
|
|
36
|
+
"platform": "mac",
|
|
37
|
+
"rotatable": false,
|
|
38
|
+
"takesScreenshot": true,
|
|
39
|
+
"version": "29.0.1547.41",
|
|
40
|
+
"webStorageEnabled": true
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
[0.756][FINE]: Command received (/session/9e5aca74a1158f039ef697bc3a14cbd4/window_handle)
|
|
45
|
+
[0.756][FINER]: Waiting for all views to stop loading...
|
|
46
|
+
[0.757][FINER]: Done waiting for all views to stop loading
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Feature: Opportunity Code and S2S Form Mapping
|
|
2
|
+
|
|
3
|
+
As a researcher, I want the ability to select various grants.gov and research.gov
|
|
4
|
+
opportunities. These opportunities will each have unique forms that I can then choose to
|
|
5
|
+
attach to my proposal document.
|
|
6
|
+
|
|
7
|
+
##Note: This mapping of opportunity codes to expected forms was inspired by a mapping chart provided to
|
|
8
|
+
##rSmart QA by Pat Slabach. Further investigation is necessary to ensure mapping accuracy.
|
|
9
|
+
|
|
10
|
+
Background: Logged in with a proposal creator
|
|
11
|
+
Given a user exists with the system role: 'Proposal Creator'
|
|
12
|
+
And I log in with the Proposal Creator user
|
|
13
|
+
And initiate a proposal with NIH as the sponsor
|
|
14
|
+
|
|
15
|
+
Scenario Outline: Selecting opportunities brings different forms
|
|
16
|
+
Given I initiate a proposal with NIH as the sponsor
|
|
17
|
+
When I add the Grants.Gov opportunity id of <Form Name> to the proposal
|
|
18
|
+
Then the s2s form attachment options should be appropriate to the opportunity
|
|
19
|
+
|
|
20
|
+
Examples:
|
|
21
|
+
| Form Name |
|
|
22
|
+
| RR-FORMFAMILY-004-2010 |
|
|
23
|
+
| RR-FORMFAMILY-009-2010 |
|
|
24
|
+
| CSS-120809-SF424RR-V12 |
|
|
25
|
+
| SK07132010SCR9020-2 |
|
|
26
|
+
| PA-B1-K08 |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Feature: S2S Form Error Validation
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Feature: S2S Questionnaire Population and Functionality
|
|
2
|
+
|
|
3
|
+
##Consider a rewrite
|
|
4
|
+
As a Researcher, there are certain forms that I can attach to a proposal that will result in
|
|
5
|
+
the population of additional Questionnaires. I want the ability to complete these questionnaires,
|
|
6
|
+
and to manage each responses' effects on my proposal.
|
|
7
|
+
|
|
8
|
+
Scenario: Initiate a proposal with PHS forms attached
|
|
9
|
+
Given I initiate a proposal with NIH as the sponsor
|
|
10
|
+
And add the Grants.Gov opportunity id of PA-B2-ALL to the proposal
|
|
11
|
+
When I attach the PHS training and fellowship forms to the proposal
|
|
12
|
+
Then the PHS training and fellowship questionnaires should appear in the proposal
|
|
13
|
+
|
|
14
|
+
Scenario: Attach the PHS Fellowship and Training forms, and complete the questionnaires
|
|
15
|
+
Given I initiate a proposal with NIH as the sponsor
|
|
16
|
+
And add the Grants.Gov opportunity id of PA-B2-ALL to the proposal
|
|
17
|
+
When I attach the PHS training and fellowship forms to the proposal
|
|
18
|
+
And complete their respective questionnaires
|
|
19
|
+
Then the questionnaire titles should indicate that the questionnaires have been completed
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
Feature: Submitting Proposals via s2s to Grants.gov
|
|
2
|
+
|
|
3
|
+
As a researcher, I want the ability to submit my completed proposals
|
|
4
|
+
through to grants.gov
|
|
5
|
+
|
|
6
|
+
Background: Logged in with a proposal creator; have other necessary user
|
|
7
|
+
Given a user exists with the system role: 'Proposal Creator'
|
|
8
|
+
And a user exists that can be a PI for Grants.gov proposals
|
|
9
|
+
And an AOR user exists
|
|
10
|
+
And I log in with the Proposal Creator user
|
|
11
|
+
|
|
12
|
+
Scenario Outline: Submit a proposal to Grants.gov with various sponsors and opportunities
|
|
13
|
+
Given I initiate a proposal with <Sponsor> as the sponsor
|
|
14
|
+
And add the <Provider> opportunity id of <Opportunity> to the proposal
|
|
15
|
+
And add the <Provider> user as the proposal's PI
|
|
16
|
+
And set valid credit splits for the proposal
|
|
17
|
+
And add and mark complete all the required attachments for an <Sponsor> proposal
|
|
18
|
+
And create, finalize, and mark complete a budget version for the proposal
|
|
19
|
+
And complete the required custom fields on the proposal
|
|
20
|
+
And answer the S2S questions
|
|
21
|
+
And submit the proposal
|
|
22
|
+
And log in with the AOR user
|
|
23
|
+
When I submit the proposal to S2S
|
|
24
|
+
Then the S2S tab's submission details will say the proposal is submitted
|
|
25
|
+
And within a couple minutes the submission status will be updated
|
|
26
|
+
|
|
27
|
+
Examples:
|
|
28
|
+
| Provider | Sponsor | Opportunity |
|
|
29
|
+
| Grants.Gov | NIH | RR-TEST-NIH-FORMS2 |
|
|
30
|
+
| Grants.Gov | NIH | RR-TEST-NIH-FORMS2-With-CFDA |
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Feature: Validating content of s2s proposals
|
|
2
|
+
|
|
3
|
+
As someone who submits proposals to the federal government for grant money
|
|
4
|
+
I want to ensure the proposals are free of errors prior to submission
|
|
5
|
+
|
|
6
|
+
Background: Logged in with a proposal creator; initiate a proposal for grants.gov
|
|
7
|
+
Given a user exists with the system role: 'Proposal Creator'
|
|
8
|
+
And I log in with the Proposal Creator user
|
|
9
|
+
And initiate a proposal with a 'Federal' sponsor type
|
|
10
|
+
And add the Grants.Gov opportunity id of PA-B2-ALL to the proposal
|
|
11
|
+
|
|
12
|
+
Scenario: Adding the opportunity
|
|
13
|
+
Then the opportunity details should appear on the page
|
|
14
|
+
And the 'remove opportunity' button should be present
|
|
15
|
+
|
|
16
|
+
Scenario: Enter wrong revision type information
|
|
17
|
+
Given I select a revision type of 'Increase Award'
|
|
18
|
+
And enter a 'revision specify' description
|
|
19
|
+
When I save the proposal
|
|
20
|
+
Then an error message appears saying that I need to select the 'Other' revision type
|
|
21
|
+
|
|
22
|
+
Scenario: Don't enter S2S Revision Type for a revision proposal
|
|
23
|
+
Given I set the proposal type to 'Revision'
|
|
24
|
+
When I go to the proposal's S2S page
|
|
25
|
+
And save the proposal
|
|
26
|
+
Then an error message appears saying a revision type must be selected
|
|
27
|
+
|
|
28
|
+
Scenario: Select 'Change' for a new S2S proposal
|
|
29
|
+
Given I select a submission type of 'Change/Corrected Application'
|
|
30
|
+
When I activate a validation check
|
|
31
|
+
Then one of the validation errors should say that an original proposal ID is needed
|
|
32
|
+
|
|
33
|
+
Scenario: Resubmission proposal type selected inappropriately
|
|
34
|
+
Given I set the proposal type to either 'Resubmission', 'Renewal', or 'Continuation'
|
|
35
|
+
When I activate a validation check
|
|
36
|
+
Then one of the validation errors should say that the prior award number is required
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
Feature: Creating/Editing Budget Versions in Proposal Documents
|
|
2
|
+
|
|
3
|
+
As a researcher I want to be able to create budgets in my proposals
|
|
4
|
+
so that I can calculate how much the proposal should be for.
|
|
5
|
+
|
|
6
|
+
Background: Create a Budget Version for a 5-year proposal
|
|
7
|
+
Given I'm logged in with admin
|
|
8
|
+
And I initiate a 5-year project proposal
|
|
9
|
+
And create a budget version for the proposal
|
|
10
|
+
|
|
11
|
+
Scenario: System warns about budget periods when proposal dates change
|
|
12
|
+
When I push the proposal's project start date ahead a year
|
|
13
|
+
Then opening the Budget Version will display a warning about the date change
|
|
14
|
+
And correcting the Budget Version date will remove the warning
|
|
15
|
+
|
|
16
|
+
Scenario: Copied budget periods have expected values
|
|
17
|
+
Given I enter dollar amounts for all the budget periods
|
|
18
|
+
When I copy the budget version (all periods)
|
|
19
|
+
Then the copied budget's values are all as expected
|
|
20
|
+
|
|
21
|
+
Scenario: "Default Periods" returns budget periods to a zeroed state
|
|
22
|
+
Given I delete one of the budget periods
|
|
23
|
+
And enter dollar amounts for all the budget periods
|
|
24
|
+
And change the date range for one of the periods
|
|
25
|
+
When I select the default periods for the budget version
|
|
26
|
+
Then all budget periods get recreated, zeroed, and given default date ranges
|
|
27
|
+
|
|
28
|
+
Scenario: Only one budget version can be 'final'
|
|
29
|
+
Given I finalize the budget version
|
|
30
|
+
When I copy the budget version (all periods)
|
|
31
|
+
Then I see an error that only one version can be final
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Feature: Creating proposals
|
|
2
|
+
|
|
3
|
+
As a researcher I want the ability to create a proposal, so that I can get funding for my research.
|
|
4
|
+
|
|
5
|
+
Background: Logged in as admin
|
|
6
|
+
Given I'm logged in with admin
|
|
7
|
+
|
|
8
|
+
Scenario: Attempt to save a proposal missing a required field
|
|
9
|
+
When I initiate a proposal but miss a required field
|
|
10
|
+
Then I should see an error that says the field is required
|
|
11
|
+
@test
|
|
12
|
+
Scenario: Attempt to save a proposal with an invalid sponsor code
|
|
13
|
+
When I initiate a proposal with an invalid sponsor code
|
|
14
|
+
Then I should see an error that says a valid sponsor code is required
|
|
15
|
+
|
|
16
|
+
Scenario: Successful initiation of proposal with federal sponsor type
|
|
17
|
+
When I initiate a proposal with a 'Federal' sponsor type
|
|
18
|
+
Then The S2S tab should become available
|
|
19
|
+
|
|
20
|
+
Scenario: Successful submission of a Private Profit proposal document into routing
|
|
21
|
+
When I complete a valid simple proposal for a 'Private Profit' organization
|
|
22
|
+
And submit the proposal
|
|
23
|
+
Then The proposal should immediately have a status of 'Approval Pending'
|
|
24
|
+
And The proposal route log's 'Actions Taken' should include 'COMPLETED'
|
|
25
|
+
And The proposal's 'Future Action Requests' should include 'PENDING APPROVE' for the principal investigator
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
Feature: Key Personnel Validations
|
|
2
|
+
|
|
3
|
+
As a researcher I want to know if there are problems
|
|
4
|
+
with my proposal's key personnel so that I can fix them
|
|
5
|
+
before I submit the proposal
|
|
6
|
+
|
|
7
|
+
Background: The admin user initiates a proposal
|
|
8
|
+
Given I'm logged in with admin
|
|
9
|
+
And I initiate a proposal
|
|
10
|
+
|
|
11
|
+
Scenario Outline: I should see an error when I add Credit Split percentages above 100 or less than 0
|
|
12
|
+
When I add a Principal Investigator with a <Type> credit split of <Value>
|
|
13
|
+
Then a key personnel error should say the credit split is not a valid percentage
|
|
14
|
+
|
|
15
|
+
Examples:
|
|
16
|
+
| Type | Value |
|
|
17
|
+
| Responsibility | 100.01 |
|
|
18
|
+
| Financial | 1000 |
|
|
19
|
+
| Recognition | -0.01 |
|
|
20
|
+
|
|
21
|
+
Scenario: I should see an error when I add a key person without a specified proposal role
|
|
22
|
+
When I add a key person without a key person role
|
|
23
|
+
Then a key personnel error should say a key person role is required
|
|
24
|
+
|
|
25
|
+
Scenario: Error when adding a co-investigator without a unit
|
|
26
|
+
When I add a co-investigator without a unit
|
|
27
|
+
Then a key personnel error should say the co-investigator requires at least one unit
|
|
28
|
+
|
|
29
|
+
Scenario: Error when adding multiple principle investigators
|
|
30
|
+
When I try to add two Principal Investigators
|
|
31
|
+
Then a key personnel error should say only one PI is allowed
|
|
32
|
+
|
|
33
|
+
Scenario: Error when adding a key person with an invalid unit
|
|
34
|
+
When I add a key person with an invalid unit type
|
|
35
|
+
Then a key personnel error should say to select a valid unit
|
|
36
|
+
|
|
37
|
+
Scenario: Error when adding the same user as a PI and Co-Investigator
|
|
38
|
+
Given a user exists with the system role: 'Unassigned'
|
|
39
|
+
When I add the Unassigned user as a Principal Investigator to the key personnel proposal roles
|
|
40
|
+
And I add the Unassigned user as a Co-Investigator to the key personnel proposal roles
|
|
41
|
+
Then there should be an error that says the Unassigned user already holds investigator role
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Feature: Proposal Actions Validations
|
|
2
|
+
|
|
3
|
+
As a researcher I want to know if my development proposal contains any errors
|
|
4
|
+
so that I can fix them prior to submitting my proposal
|
|
5
|
+
|
|
6
|
+
Background: Logged in with a proposal creator user
|
|
7
|
+
Given a user exists with the system role: 'Proposal Creator'
|
|
8
|
+
And I log in with the Proposal Creator user
|
|
9
|
+
|
|
10
|
+
Scenario: A PI has not been added to the proposal
|
|
11
|
+
Given I initiate a proposal
|
|
12
|
+
And the proposal has no principal investigator
|
|
13
|
+
When I activate a validation check
|
|
14
|
+
Then a validation error should say there is no principal investigator
|
|
15
|
+
And checking the key personnel page shows an error that says there is no principal investigator
|
|
16
|
+
|
|
17
|
+
Scenario: The proposal questions have not each been answered
|
|
18
|
+
Given I initiate a proposal
|
|
19
|
+
And I do not answer my proposal questions
|
|
20
|
+
When I activate a validation check
|
|
21
|
+
Then a validation error should say proposal questions were not answered
|
|
22
|
+
And checking the questions page shows an error that says proposal questions were not answered
|
|
23
|
+
|
|
24
|
+
Scenario: Sponsor deadline date is missing
|
|
25
|
+
Given I initiate a proposal without a sponsor deadline date
|
|
26
|
+
When I activate a validation check
|
|
27
|
+
Then a validation error should say sponsor deadline date not entered
|
|
28
|
+
And checking the proposal page shows an error that says sponsor deadline date not entered
|
|
29
|
+
|
|
30
|
+
Scenario: A co-investigator is added but not certified
|
|
31
|
+
Given I initiate a proposal with an un-certified Co-Investigator
|
|
32
|
+
When I activate a validation check
|
|
33
|
+
Then a validation error should say the investigator needs to be certified
|
|
34
|
+
And checking the key personnel page shows a proposal person certification error that says the investigator needs to be certified
|
|
35
|
+
|
|
36
|
+
Scenario: A PI is added but not certified
|
|
37
|
+
Given I initiate a proposal with an un-certified Principal Investigator
|
|
38
|
+
When I activate a validation check
|
|
39
|
+
Then a validation error should say the principal needs to be certified
|
|
40
|
+
And checking the key personnel page shows a proposal person certification error that says the investigator needs to be certified
|
|
41
|
+
|
|
42
|
+
Scenario: A Key Person is added but not certified
|
|
43
|
+
Given I initiate a proposal where the un-certified key person has certification questions
|
|
44
|
+
When I activate a validation check
|
|
45
|
+
Then a validation error should say the key person needs to be certified
|
|
46
|
+
And checking the key personnel page shows a proposal person certification error that says the investigator needs to be certified
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Feature: Permissions in a Proposal
|
|
2
|
+
|
|
3
|
+
As a Proposal Aggregator, I want to be able to assign others permissions to a proposal,
|
|
4
|
+
to allow them to work on the proposal with me, and to control what actions
|
|
5
|
+
they are capable of performing with it.
|
|
6
|
+
|
|
7
|
+
Background: The admin user initiates a proposal
|
|
8
|
+
Given I'm logged in with admin
|
|
9
|
+
And I initiate a proposal
|
|
10
|
+
|
|
11
|
+
Scenario: The proposal initiator is automatically an aggregator
|
|
12
|
+
Given a user exists with the system role: 'Proposal Creator'
|
|
13
|
+
And I log in with the Proposal Creator user
|
|
14
|
+
When I visit the proposal's Permissions page
|
|
15
|
+
Then the Proposal Creator user is listed as an Aggregator in the proposal permissions
|
|
16
|
+
|
|
17
|
+
Scenario Outline: A Proposal Aggregator can assign various roles to a proposal documents permissions
|
|
18
|
+
Given a user exists with the system role: 'Unassigned'
|
|
19
|
+
When I assign the Unassigned user as a <Role> in the proposal permissions
|
|
20
|
+
Then the Unassigned user can access the proposal
|
|
21
|
+
And their proposal permissions allow them to <Permissions>
|
|
22
|
+
|
|
23
|
+
Examples:
|
|
24
|
+
| Role | Permissions |
|
|
25
|
+
| Narrative Writer | only update the Abstracts and Attachments page |
|
|
26
|
+
| Aggregator | edit all parts of the proposal |
|
|
27
|
+
| Budget Creator | only update the budget |
|
|
28
|
+
| Delete Proposal | delete the proposal |
|
|
29
|
+
| Viewer | only read the proposal |
|
|
30
|
+
|
|
31
|
+
Scenario Outline: Proposal permissions are not passed onto future proposals initiated by the same creator
|
|
32
|
+
Given a user exists with the system role: 'Unassigned'
|
|
33
|
+
And I assign the Unassigned user as a <Role> in the proposal permissions
|
|
34
|
+
When I initiate a second proposal
|
|
35
|
+
Then the Unassigned user should not be listed as a <Role> in the second proposal
|
|
36
|
+
|
|
37
|
+
Examples:
|
|
38
|
+
| Role |
|
|
39
|
+
| Viewer |
|
|
40
|
+
| Budget Creator |
|
|
41
|
+
| Narrative Writer |
|
|
42
|
+
| Aggregator |
|
|
43
|
+
| approver |
|
|
44
|
+
| Delete Proposal |
|
|
45
|
+
|
|
46
|
+
Scenario: Users who are assigned the Aggregator role cannot be assigned additional roles
|
|
47
|
+
Given a user exists with the system role: 'Unassigned'
|
|
48
|
+
And I assign the Unassigned user as an aggregator in the proposal permissions
|
|
49
|
+
When I attempt to add an additional proposal role to the Aggregator user
|
|
50
|
+
Then there should be an error message that says not to select other roles alongside aggregator
|
|
51
|
+
|
|
52
|
+
Scenario: A proposal document cannot have multiple users assigned to the Aggregator role
|
|
53
|
+
Given a user exists with the system role: 'Proposal Creator'
|
|
54
|
+
And I assign the Proposal Creator user as an aggregator in the proposal permissions
|
|
55
|
+
When I attempt to add an additional proposal role to the Aggregator user
|
|
56
|
+
Then there should be an error message that says not to select other roles alongside aggregator
|
|
57
|
+
|
|
58
|
+
Scenario Outline: Users with the appropriate permissions can edit proposals that have been recalled for revisions
|
|
59
|
+
Given a user exists with the system role: 'Unassigned'
|
|
60
|
+
And assign the Unassigned user as a <Role> in the proposal permissions
|
|
61
|
+
And complete the proposal
|
|
62
|
+
And submit the proposal
|
|
63
|
+
When I recall the proposal for revisions
|
|
64
|
+
Then the Unassigned user can access the proposal
|
|
65
|
+
And their proposal permissions allow them to <Permissions>
|
|
66
|
+
|
|
67
|
+
Examples:
|
|
68
|
+
| Role | Permissions |
|
|
69
|
+
| Narrative Writer | only update the Abstracts and Attachments page |
|
|
70
|
+
| Aggregator | edit all parts of the proposal |
|
|
71
|
+
| Budget Creator | only update the budget |
|
|
72
|
+
| Delete Proposal | delete the proposal |
|
|
73
|
+
| Viewer | only read the proposal |
|