kuality-coeus 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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 |
|