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.
Files changed (161) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +16 -18
  3. data/chromedriver.log +46 -0
  4. data/features/grants_gov/grants_gov_forms/code_and_form_mapping.feature +26 -0
  5. data/features/grants_gov/grants_gov_forms/forms_validation.feature +1 -0
  6. data/features/grants_gov/grants_gov_forms/s2s_questionnaire.feature +19 -0
  7. data/features/grants_gov/s2s_submission.feature +30 -0
  8. data/features/grants_gov/s2s_validation.feature +36 -0
  9. data/features/proposal_development/create_budget_versions.feature +31 -0
  10. data/features/proposal_development/create_proposal.feature +25 -0
  11. data/features/proposal_development/key_personnel_validations.feature +41 -0
  12. data/features/proposal_development/proposal_actions_validations.feature +46 -0
  13. data/features/proposal_development/proposal_permissions.feature +73 -0
  14. data/features/proposal_development/proposal_workflow.feature +105 -0
  15. data/features/proposal_development/special_review_validations.feature +12 -0
  16. data/features/step_definitions/action_list.rb +12 -0
  17. data/features/step_definitions/awards/create_award.rb +3 -0
  18. data/features/step_definitions/grants_gov/forms.rb +34 -0
  19. data/features/step_definitions/grants_gov/s2s_submission.rb +51 -0
  20. data/features/step_definitions/institutional_proposals/create_institutional_proposal.rb +3 -0
  21. data/features/step_definitions/proposal_development/budget_versions.rb +102 -0
  22. data/features/step_definitions/proposal_development/create_proposal.rb +157 -0
  23. data/features/step_definitions/proposal_development/edit_proposal.rb +79 -0
  24. data/features/step_definitions/proposal_development/institute_rates.rb +21 -0
  25. data/features/step_definitions/proposal_development/key_personnel_validations.rb +74 -0
  26. data/features/step_definitions/proposal_development/proposal_actions_validations.rb +73 -0
  27. data/features/step_definitions/proposal_development/proposal_permissions.rb +141 -0
  28. data/features/step_definitions/proposal_development/proposal_workflow.rb +81 -0
  29. data/features/step_definitions/proposal_development/s2s_validation.rb +30 -0
  30. data/features/step_definitions/proposal_development/special_review_validations.rb +7 -0
  31. data/features/step_definitions/test.rb +3 -0
  32. data/features/step_definitions/users.rb +65 -0
  33. data/features/support/env.rb +35 -0
  34. data/features/test.feature +13 -0
  35. data/kuality-coeus.gemspec +1 -1
  36. data/lib/chromedriver.log +4483 -0
  37. data/lib/kuality-coeus.rb +5 -2
  38. data/lib/kuality-coeus/core_extensions.rb +10 -0
  39. data/lib/kuality-coeus/data_objects/award/award.rb +126 -0
  40. data/lib/kuality-coeus/data_objects/award/award_transaction.rb +57 -0
  41. data/lib/kuality-coeus/data_objects/budget/budget_periods.rb +114 -0
  42. data/lib/kuality-coeus/data_objects/budget/budget_versions.rb +221 -0
  43. data/lib/kuality-coeus/data_objects/budget/subaward_budget.rb +65 -0
  44. data/lib/kuality-coeus/data_objects/committee_document/committee_document.rb +65 -0
  45. data/lib/kuality-coeus/data_objects/committee_document/committee_members.rb +30 -0
  46. data/lib/kuality-coeus/data_objects/committee_document/committee_schedule.rb +27 -0
  47. data/lib/kuality-coeus/data_objects/committee_document/member_roles.rb +28 -0
  48. data/lib/kuality-coeus/data_objects/conflict_of_interest/financial_entity.rb +48 -0
  49. data/lib/kuality-coeus/data_objects/grants_gov/phs_fellowship_questionnaire.rb +90 -0
  50. data/lib/kuality-coeus/data_objects/grants_gov/phs_training_budget_questionnaire.rb +5 -0
  51. data/lib/kuality-coeus/data_objects/institutional_proposal/institutional_proposal.rb +20 -0
  52. data/lib/kuality-coeus/data_objects/institutional_proposal/intellectual_property_review.rb +62 -0
  53. data/lib/kuality-coeus/data_objects/navigation.rb +64 -0
  54. data/lib/kuality-coeus/data_objects/proposal_development/compliance_questions.rb +47 -0
  55. data/lib/kuality-coeus/data_objects/proposal_development/custom_data.rb +41 -0
  56. data/lib/kuality-coeus/data_objects/proposal_development/degrees.rb +40 -0
  57. data/lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb +299 -0
  58. data/lib/kuality-coeus/data_objects/proposal_development/kuali_university_questions.rb +58 -0
  59. data/lib/kuality-coeus/data_objects/proposal_development/permissions.rb +107 -0
  60. data/lib/kuality-coeus/data_objects/proposal_development/personnel_attachments.rb +46 -0
  61. data/lib/kuality-coeus/data_objects/proposal_development/proposal_attachments.rb +41 -0
  62. data/lib/kuality-coeus/data_objects/proposal_development/proposal_development.rb +301 -0
  63. data/lib/kuality-coeus/data_objects/proposal_development/proposal_questions.rb +52 -0
  64. data/lib/kuality-coeus/data_objects/proposal_development/s2s_questionnaire.rb +129 -0
  65. data/lib/kuality-coeus/data_objects/proposal_development/special_review.rb +79 -0
  66. data/lib/kuality-coeus/data_objects/rates/institute_rate.rb +209 -0
  67. data/lib/kuality-coeus/data_objects/user.rb +303 -33
  68. data/lib/kuality-coeus/gem_extensions.rb +26 -0
  69. data/lib/kuality-coeus/page_objects/000_base_page.rb +196 -14
  70. data/lib/kuality-coeus/page_objects/action_list.rb +32 -0
  71. data/lib/kuality-coeus/page_objects/award/award.rb +25 -0
  72. data/lib/kuality-coeus/page_objects/award/award_actions.rb +7 -0
  73. data/lib/kuality-coeus/page_objects/award/award_budget_versions.rb +9 -0
  74. data/lib/kuality-coeus/page_objects/award/commitments.rb +27 -0
  75. data/lib/kuality-coeus/page_objects/award/contacts.rb +19 -0
  76. data/lib/kuality-coeus/page_objects/award/custom_data.rb +6 -0
  77. data/lib/kuality-coeus/page_objects/award/payment_reports_terms.rb +26 -0
  78. data/lib/kuality-coeus/page_objects/award/special_review.rb +7 -0
  79. data/lib/kuality-coeus/page_objects/award/time_and_money.rb +36 -0
  80. data/lib/kuality-coeus/page_objects/budget/budget_actions.rb +31 -0
  81. data/lib/kuality-coeus/page_objects/budget/budget_versions.rb +13 -0
  82. data/lib/kuality-coeus/page_objects/budget/modular_budget.rb +16 -0
  83. data/lib/kuality-coeus/page_objects/budget/non-personnel.rb +11 -0
  84. data/lib/kuality-coeus/page_objects/budget/parameters.rb +65 -0
  85. data/lib/kuality-coeus/page_objects/budget/personnel.rb +56 -0
  86. data/lib/kuality-coeus/page_objects/budget/rates.rb +7 -0
  87. data/lib/kuality-coeus/page_objects/budget/summary.rb +5 -0
  88. data/lib/kuality-coeus/page_objects/budget_document.rb +19 -0
  89. data/lib/kuality-coeus/page_objects/central_admin.rb +4 -2
  90. data/lib/kuality-coeus/page_objects/committee/committee.rb +10 -10
  91. data/lib/kuality-coeus/page_objects/committee/members.rb +4 -4
  92. data/lib/kuality-coeus/page_objects/committee_document.rb +1 -6
  93. data/lib/kuality-coeus/page_objects/confirmation.rb +16 -0
  94. data/lib/kuality-coeus/page_objects/disclosure/disclosure.rb +56 -0
  95. data/lib/kuality-coeus/page_objects/disclosure/disclosure_actions.rb +9 -0
  96. data/lib/kuality-coeus/page_objects/document_header.rb +5 -0
  97. data/lib/kuality-coeus/page_objects/financial_entities.rb +1 -4
  98. data/lib/kuality-coeus/page_objects/financial_entities/my_financial_entities.rb +6 -0
  99. data/lib/kuality-coeus/page_objects/financial_entities/new_financial_entity.rb +11 -0
  100. data/lib/kuality-coeus/page_objects/financial_entities/reporter.rb +5 -3
  101. data/lib/kuality-coeus/page_objects/identity/person.rb +57 -0
  102. data/lib/kuality-coeus/page_objects/institute_rates_maintenance.rb +18 -0
  103. data/lib/kuality-coeus/page_objects/institutional_proposal.rb +18 -0
  104. data/lib/kuality-coeus/page_objects/institutional_proposal/contacts.rb +32 -0
  105. data/lib/kuality-coeus/page_objects/institutional_proposal/custom_data.rb +6 -0
  106. data/lib/kuality-coeus/page_objects/institutional_proposal/distribution.rb +20 -0
  107. data/lib/kuality-coeus/page_objects/institutional_proposal/institutional_proposal.rb +27 -0
  108. data/lib/kuality-coeus/page_objects/institutional_proposal/institutional_proposal_actions.rb +7 -0
  109. data/lib/kuality-coeus/page_objects/institutional_proposal/intellectual_property_review.rb +20 -0
  110. data/lib/kuality-coeus/page_objects/institutional_proposal/special_review.rb +6 -0
  111. data/lib/kuality-coeus/page_objects/kc_awards.rb +48 -0
  112. data/lib/kuality-coeus/page_objects/kc_protocol.rb +15 -0
  113. data/lib/kuality-coeus/page_objects/login.rb +4 -5
  114. data/lib/kuality-coeus/page_objects/lookup_pages/000_lookups.rb +10 -0
  115. data/lib/kuality-coeus/page_objects/lookup_pages/action_list_filter.rb +6 -0
  116. data/lib/kuality-coeus/page_objects/lookup_pages/address_book_lookup.rb +4 -0
  117. data/lib/kuality-coeus/page_objects/lookup_pages/development_proposal_lookup.rb +3 -0
  118. data/lib/kuality-coeus/page_objects/lookup_pages/document_search.rb +10 -0
  119. data/lib/kuality-coeus/page_objects/lookup_pages/group_lookup.rb +3 -0
  120. data/lib/kuality-coeus/page_objects/lookup_pages/institute_rates_lookup.rb +12 -0
  121. data/lib/kuality-coeus/page_objects/lookup_pages/opportunity_lookup.rb +6 -0
  122. data/lib/kuality-coeus/page_objects/lookup_pages/organization_lookup.rb +5 -0
  123. data/lib/kuality-coeus/page_objects/lookup_pages/person_extended_attributes.rb +5 -0
  124. data/lib/kuality-coeus/page_objects/lookup_pages/person_lookup.rb +10 -0
  125. data/lib/kuality-coeus/page_objects/lookup_pages/role_lookup.rb +6 -0
  126. data/lib/kuality-coeus/page_objects/lookup_pages/sponsor_lookup.rb +9 -0
  127. data/lib/kuality-coeus/page_objects/lookup_pages/unit_admin_lookup.rb +3 -0
  128. data/lib/kuality-coeus/page_objects/lookup_pages/unit_lookup.rb +3 -0
  129. data/lib/kuality-coeus/page_objects/maintenance.rb +7 -0
  130. data/lib/kuality-coeus/page_objects/notification_editor.rb +6 -0
  131. data/lib/kuality-coeus/page_objects/proposal_development.rb +7 -2
  132. data/lib/kuality-coeus/page_objects/proposal_development/abstracts_and_attachments.rb +54 -0
  133. data/lib/kuality-coeus/page_objects/proposal_development/key_personnel.rb +126 -0
  134. data/lib/kuality-coeus/page_objects/proposal_development/pd_custom_data.rb +6 -0
  135. data/lib/kuality-coeus/page_objects/proposal_development/permissions.rb +44 -0
  136. data/lib/kuality-coeus/page_objects/proposal_development/phs_fellowship_questionnaire.rb +44 -0
  137. data/lib/kuality-coeus/page_objects/proposal_development/phs_training_budget_questionnaire.rb +50 -0
  138. data/lib/kuality-coeus/page_objects/proposal_development/proposal.rb +47 -8
  139. data/lib/kuality-coeus/page_objects/proposal_development/proposal_actions.rb +62 -0
  140. data/lib/kuality-coeus/page_objects/proposal_development/proposal_summary.rb +9 -0
  141. data/lib/kuality-coeus/page_objects/proposal_development/questions.rb +111 -0
  142. data/lib/kuality-coeus/page_objects/proposal_development/s2s.rb +35 -0
  143. data/lib/kuality-coeus/page_objects/proposal_development/special_review.rb +6 -0
  144. data/lib/kuality-coeus/page_objects/protocol/custom_data.rb +6 -0
  145. data/lib/kuality-coeus/page_objects/protocol/permissions.rb +5 -0
  146. data/lib/kuality-coeus/page_objects/protocol/personnel.rb +5 -0
  147. data/lib/kuality-coeus/page_objects/protocol/protocol.rb +11 -0
  148. data/lib/kuality-coeus/page_objects/protocol/questionnaire.rb +5 -0
  149. data/lib/kuality-coeus/page_objects/protocol/special_review.rb +6 -0
  150. data/lib/kuality-coeus/page_objects/rejection_confirmation.rb +5 -0
  151. data/lib/kuality-coeus/page_objects/researcher.rb +4 -2
  152. data/lib/kuality-coeus/page_objects/shared/unit_administrator.rb +13 -0
  153. data/lib/kuality-coeus/page_objects/system/person_extended_attributes.rb +18 -0
  154. data/lib/kuality-coeus/page_objects/system_admin.rb +7 -0
  155. data/lib/kuality-coeus/page_objects/unit.rb +2 -4
  156. data/lib/kuality-coeus/utilities.rb +39 -0
  157. data/libpeerconnection.log +0 -0
  158. metadata +140 -5
  159. data/lib/kuality-coeus/data_objects/committee_document.rb +0 -65
  160. data/lib/kuality-coeus/data_objects/proposal_development.rb +0 -53
  161. data/lib/kuality-coeus/navigation.rb +0 -3
data/Gemfile CHANGED
@@ -3,4 +3,4 @@ source "http://rubygems.org"
3
3
  gem "rspec"
4
4
  gem "cucumber"
5
5
  gem "test-factory", ">=0.1.3"
6
- gem "watir-webdriver", ">=0.6.1"
6
+ gem "watir-webdriver", ">=0.6.4"
data/Gemfile.lock CHANGED
@@ -1,8 +1,7 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.2)
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.1.5)
13
+ ffi (1.2.0)
15
14
  gherkin (2.11.5)
16
15
  json (>= 1.4.6)
17
- json (1.7.5)
18
- libwebsocket (0.1.5)
19
- addressable
20
- multi_json (1.3.7)
21
- rspec (2.11.0)
22
- rspec-core (~> 2.11.0)
23
- rspec-expectations (~> 2.11.0)
24
- rspec-mocks (~> 2.11.0)
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.11.3)
25
+ rspec-mocks (2.12.1)
29
26
  rubyzip (0.9.9)
30
- selenium-webdriver (2.26.0)
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.1)
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.1)
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 |