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.
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 |