kuality-coeus 0.0.3 → 0.0.4

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 (59) hide show
  1. checksums.yaml +8 -8
  2. data/features/grants_gov/grants_gov_forms/code_and_form_mapping.feature +3 -3
  3. data/features/grants_gov/grants_gov_forms/forms_validation.feature +5 -1
  4. data/features/grants_gov/grants_gov_forms/s2s_questionnaire.feature +5 -3
  5. data/features/grants_gov/s2s_submission.feature +7 -4
  6. data/features/proposal_development/create_budget_versions.feature +2 -1
  7. data/features/proposal_development/create_proposal.feature +21 -19
  8. data/features/proposal_development/key_personnel_validations.feature +4 -3
  9. data/features/proposal_development/proposal_actions_validations.feature +9 -17
  10. data/features/proposal_development/proposal_permissions.feature +25 -22
  11. data/features/proposal_development/proposal_workflow.feature +8 -37
  12. data/features/step_definitions/{proposal_development → budget_versions}/budget_versions.rb +9 -9
  13. data/features/step_definitions/budget_versions/project_personnel.rb +11 -0
  14. data/features/step_definitions/delete_proposals.rb +9 -0
  15. data/features/step_definitions/grants_gov/forms.rb +27 -0
  16. data/features/step_definitions/grants_gov/s2s_submission.rb +30 -5
  17. data/features/step_definitions/proposal_development/create_proposal.rb +2 -9
  18. data/features/step_definitions/proposal_development/edit_proposal.rb +3 -4
  19. data/features/step_definitions/proposal_development/key_personnel_validations.rb +10 -1
  20. data/features/step_definitions/proposal_development/proposal_actions_validations.rb +7 -6
  21. data/features/step_definitions/proposal_development/proposal_permissions.rb +51 -65
  22. data/features/step_definitions/proposal_development/proposal_workflow.rb +0 -15
  23. data/features/step_definitions/test.rb +1 -3
  24. data/features/step_definitions/users.rb +6 -6
  25. data/features/support/env.rb +1 -1
  26. data/features/test.feature +3 -1
  27. data/kuality-coeus.gemspec +1 -1
  28. data/lib/kuality-coeus.rb +5 -5
  29. data/lib/kuality-coeus/data_objects/budget/budget_periods.rb +5 -4
  30. data/lib/kuality-coeus/data_objects/budget/budget_versions.rb +18 -7
  31. data/lib/kuality-coeus/data_objects/budget/personnel.rb +135 -0
  32. data/lib/kuality-coeus/data_objects/budget/subaward_budget.rb +1 -3
  33. data/lib/kuality-coeus/data_objects/identity/group.rb +19 -0
  34. data/lib/kuality-coeus/data_objects/navigation.rb +23 -0
  35. data/lib/kuality-coeus/data_objects/proposal_development/degrees.rb +1 -2
  36. data/lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb +3 -6
  37. data/lib/kuality-coeus/data_objects/proposal_development/permissions.rb +16 -4
  38. data/lib/kuality-coeus/data_objects/proposal_development/proposal_development.rb +7 -5
  39. data/lib/kuality-coeus/data_objects/user.rb +23 -17
  40. data/lib/kuality-coeus/page_objects/000_base_page.rb +2 -1
  41. data/lib/kuality-coeus/page_objects/budget/non-personnel.rb +0 -2
  42. data/lib/kuality-coeus/page_objects/budget/parameters.rb +4 -1
  43. data/lib/kuality-coeus/page_objects/budget/personnel.rb +18 -26
  44. data/lib/kuality-coeus/page_objects/confirmation.rb +0 -2
  45. data/lib/kuality-coeus/page_objects/identity/group.rb +7 -0
  46. data/lib/kuality-coeus/page_objects/lookup_pages/000_lookups.rb +6 -0
  47. data/lib/kuality-coeus/page_objects/lookup_pages/job_code_lookup.rb +3 -0
  48. data/lib/kuality-coeus/page_objects/lookup_pages/non_org_address_lookup.rb +14 -0
  49. data/lib/kuality-coeus/page_objects/lookup_pages/person_lookup.rb +4 -2
  50. data/lib/kuality-coeus/page_objects/lookup_pages/to_be_named_lookup.rb +9 -0
  51. data/lib/kuality-coeus/page_objects/{institute_rates_maintenance.rb → maintenance/institute_rates_maintenance.rb} +0 -0
  52. data/lib/kuality-coeus/page_objects/proposal_development/permissions.rb +9 -1
  53. data/lib/kuality-coeus/page_objects/system_admin.rb +1 -1
  54. data/lib/kuality-coeus/utilities.rb +5 -6
  55. data/lib/resources/NSF_CoverPage_1_3-V1.3.pdf +0 -0
  56. data/lib/resources/NSF_DATA_MANAGEMENT_PLAN.pdf +0 -0
  57. data/lib/resources/PHS_Fellowship_Supplemental_1_1-V1.1.pdf +0 -0
  58. data/lib/resources/test.pdf +0 -0
  59. metadata +16 -4
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZmJiYzFkYjFiY2E2N2U3MTI4ZWFhMDkyNzExYjU4ZDQ4OTBhMTExNw==
4
+ ODk5YjMzNTg3YTUzNWM5NTc3NzYxYWFhNTJhM2UyZWE0MzgyOTIzNA==
5
5
  data.tar.gz: !binary |-
6
- ZjAxM2NiZGQ5NzA3MTQyNWFjMjdiZmQ0M2FiOTBjOThkZDFjYTRiNw==
6
+ ZmM2YjY1NTc1ZGY3OTMyZmFkYWJhZDdlNzg3M2RhMDRjMjg0MDljNw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NjgxY2VmNDczNGM5YTI3YTY4M2FkNzIxZTFhNTAzNjZlZDU3M2M4ZjE4Y2Qz
10
- N2UxMzMzNmViNWM3ZjBkN2RlYzg0ZTA3MWVlYmQyZjBhOTljZTg4NGQ3ZGZj
11
- OTQ3OWMxZmYwNTI0ZDI0MDE3OWJkMDgwZThhZDEzNzM1Yzk5NDY=
9
+ NjhlODJkODQ4ZWM4NjFkZjEzMTZlZjI1YzBiYzMxZTJhZjM2ZmU0MDQ4Njdl
10
+ OTRiZTI5ZjA1Njg4OTEwMDRiYjk5MmVkNGZlOTA0NzliMTkyMzlhNzQxMzU0
11
+ ZDA0MTQzZDM5YjMyNTA2YjQ0MDQwNDAyYjgzYTNjMTk1ZDgzYjE=
12
12
  data.tar.gz: !binary |-
13
- OTcxMGU5M2ZkYzc5MmNkNWRjNDY4YTNlNGE4MDhkNjgzMzVjYzQ3MzZiOTM2
14
- NzU5ZTNmMGJhN2U0ZjRlMGE0MWVkZTE0YjkwZTJlZGZhODRhZDQ4Yzk2MzU0
15
- N2QzYzBlZWQ2ZDg2NzhjZDg0OGZjODE4OWJjMDIzOWNmMGY5NTk=
13
+ NzMwMmNlMWJhOGQ5MTk2YzM2ZGI3MjIzMGFiODE3NjZhMDYzZjBlNzBjOTU0
14
+ OWU2ZDc4MWRhYWU4YTZmMmI4ZmQ0NmNlMDNkN2RmNTFkNzZiZDNmNTc1YjA5
15
+ ZDNkNGNmZWY1N2NlNmQ4ODk2NDZlZTI0ODYwNmRkNDYxZmE3ZDQ=
@@ -11,14 +11,14 @@ Feature: Opportunity Code and S2S Form Mapping
11
11
  Given a user exists with the system role: 'Proposal Creator'
12
12
  And I log in with the Proposal Creator user
13
13
  And initiate a proposal with NIH as the sponsor
14
-
14
+ @test
15
15
  Scenario Outline: Selecting opportunities brings different forms
16
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
17
+ When I add the Grants.Gov opportunity id of <Opportunity> to the proposal
18
18
  Then the s2s form attachment options should be appropriate to the opportunity
19
19
 
20
20
  Examples:
21
- | Form Name |
21
+ | Opportunity |
22
22
  | RR-FORMFAMILY-004-2010 |
23
23
  | RR-FORMFAMILY-009-2010 |
24
24
  | CSS-120809-SF424RR-V12 |
@@ -1 +1,5 @@
1
- Feature: S2S Form Error Validation
1
+ Feature: S2S Form Error Validation
2
+
3
+ As a Researcher, I want the S2S page to provide me with clear validation errors
4
+ if ever I fail to complete necessary questions from my S2S-related questionnaires
5
+
@@ -1,8 +1,10 @@
1
1
  Feature: S2S Questionnaire Population and Functionality
2
2
 
3
- As a Researcher there are certain forms that I can attach to a proposal that will result in
4
- the population of additional Questionnaires. I want the ability to complete these questionnaires,
5
- and to manage each responses' effects on my proposal.
3
+ Background: Logged in with a proposal creator; have other necessary user
4
+ Given a user exists with the system role: 'Proposal Creator'
5
+ And a user exists that can be a PI for Grants.gov proposals
6
+ And an AOR user exists
7
+ And I log in with the Proposal Creator user
6
8
 
7
9
  Scenario: Initiate a proposal with PHS forms attached
8
10
  Given I initiate a proposal with NIH as the sponsor
@@ -14,7 +14,7 @@ Feature: Submitting Proposals via s2s to Grants.gov
14
14
  And add the <Provider> opportunity id of <Opportunity> to the proposal
15
15
  And add the <Provider> user as the proposal's PI
16
16
  And set valid credit splits for the proposal
17
- And add and mark complete all the required attachments for an <Sponsor> proposal
17
+ And add and mark complete all the required attachments
18
18
  And create, finalize, and mark complete a budget version for the proposal
19
19
  And complete the required custom fields on the proposal
20
20
  And answer the S2S questions
@@ -25,6 +25,9 @@ Feature: Submitting Proposals via s2s to Grants.gov
25
25
  And within a couple minutes the submission status will be updated
26
26
 
27
27
  Examples:
28
- | Provider | Sponsor | Opportunity |
29
- | Grants.Gov | NIH | RR-TEST-NIH-FORMS2 |
30
- | Grants.Gov | NIH | RR-TEST-NIH-FORMS2-With-CFDA |
28
+ | Provider | Sponsor | Opportunity |
29
+ | Grants.Gov | NIH | RR-TEST-NIH-FORMS2 |
30
+ | Grants.Gov | NIH | RR-FORMFAMILY-009-2010 |
31
+ | Grants.Gov | DOD-Agency | CAL-TEST-DOD2 |
32
+ | Grants.Gov | DOD-Agency | CSS-120809-SF424RR-V12 |
33
+ | Grants.Gov | NASA - Washington | RR-FORMFAMILY-004-2010 |
@@ -4,7 +4,8 @@ Feature: Creating/Editing Budget Versions in Proposal Documents
4
4
  so that I can calculate how much the proposal should be for.
5
5
 
6
6
  Background: Create a Budget Version for a 5-year proposal
7
- Given I'm logged in with admin
7
+ Given a user exists with the system role: 'Proposal Creator'
8
+ And I log in with the Proposal Creator user
8
9
  And I initiate a 5-year project proposal
9
10
  And create a budget version for the proposal
10
11
 
@@ -1,25 +1,27 @@
1
1
  Feature: Creating proposals
2
2
 
3
- As a researcher I want the ability to create a proposal, so that I can get funding for my research.
3
+ As a researcher I want the ability to create a proposal,
4
+ so that I can get funding for my research.
4
5
 
5
- Background: Logged in as admin
6
- Given I'm logged in with admin
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
7
9
 
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
10
+ Scenario: Attempt to save a proposal missing a required field
11
+ When I initiate a proposal but miss a required field
12
+ Then I should see an error that says the field is required
15
13
 
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
14
+ Scenario: Attempt to save a proposal with an invalid sponsor code
15
+ When I initiate a proposal with an invalid sponsor code
16
+ Then I should see an error that says a valid sponsor code is required
19
17
 
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
18
+ Scenario: Successful initiation of proposal with federal sponsor type
19
+ When I initiate a proposal with a 'Federal' sponsor type
20
+ Then The S2S tab should become available
21
+
22
+ Scenario: Successful submission of a Private Profit proposal document into routing
23
+ When I complete a valid simple proposal for a 'Private Profit' organization
24
+ And submit the proposal
25
+ Then The proposal should immediately have a status of 'Approval Pending'
26
+ And The proposal route log's 'Actions Taken' should include 'COMPLETED'
27
+ And The proposal's 'Future Action Requests' should include 'PENDING APPROVE' for the principal investigator
@@ -5,8 +5,9 @@ Feature: Key Personnel Validations
5
5
  before I submit the proposal
6
6
 
7
7
  Background: The admin user initiates a proposal
8
- Given I'm logged in with admin
9
- And I initiate a proposal
8
+ Given a user exists with the system role: 'Proposal Creator'
9
+ And I log in with the Proposal Creator user
10
+ And I initiate a proposal
10
11
 
11
12
  Scenario Outline: I should see an error when I add Credit Split percentages above 100 or less than 0
12
13
  When I add a Principal Investigator with a <Type> credit split of <Value>
@@ -24,7 +25,7 @@ Feature: Key Personnel Validations
24
25
 
25
26
  Scenario: Error when adding a co-investigator without a unit
26
27
  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
+ Then a key personnel error should appear, saying the co-investigator requires at least one unit
28
29
 
29
30
  Scenario: Error when adding multiple principle investigators
30
31
  When I try to add two Principal Investigators
@@ -14,33 +14,25 @@ Feature: Proposal Actions Validations
14
14
  Then a validation error should say there is no principal investigator
15
15
  And checking the key personnel page shows an error that says there is no principal investigator
16
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
17
  Scenario: Sponsor deadline date is missing
25
18
  Given I initiate a proposal without a sponsor deadline date
26
19
  When I activate a validation check
27
20
  Then a validation error should say sponsor deadline date not entered
28
21
  And checking the proposal page shows an error that says sponsor deadline date not entered
29
22
 
30
- Scenario: A co-investigator is added but not certified
31
- Given I initiate a proposal with an un-certified Co-Investigator
23
+ Scenario Outline: A key person is added but not certified
24
+ Given I initiate a proposal with an un-certified <Person>
32
25
  When I activate a validation check
33
- Then a validation error should say the investigator needs to be certified
26
+ Then one of the errors should say the investigators aren't all certified
34
27
  And checking the key personnel page shows a proposal person certification error that says the investigator needs to be certified
35
28
 
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
29
+ Examples:
30
+ | Person |
31
+ | Co-Investigator |
32
+ | Principal Investigator |
41
33
 
42
34
  Scenario: A Key Person is added but not certified
43
- Given I initiate a proposal where the un-certified key person has certification questions
35
+ Given I initiate a proposal where the un-certified key person has included certification questions
44
36
  When I activate a validation check
45
- Then a validation error should say the key person needs to be certified
37
+ Then one of the errors should say the investigators aren't all certified
46
38
  And checking the key personnel page shows a proposal person certification error that says the investigator needs to be certified
@@ -4,13 +4,12 @@ Feature: Permissions in a Proposal
4
4
  to allow them to work on the proposal with me, and to control what actions
5
5
  they are capable of performing with it.
6
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
7
+ Background: A proposal creator user initiates a proposal
12
8
  Given a user exists with the system role: 'Proposal Creator'
13
9
  And I log in with the Proposal Creator user
10
+ And initiate a proposal
11
+
12
+ Scenario: The proposal initiator is automatically an aggregator
14
13
  When I visit the proposal's Permissions page
15
14
  Then the Proposal Creator user is listed as an Aggregator in the proposal permissions
16
15
 
@@ -21,12 +20,18 @@ Feature: Permissions in a Proposal
21
20
  And their proposal permissions allow them to <Permissions>
22
21
 
23
22
  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 |
23
+ | Role | Permissions |
24
+ | Aggregator | edit all parts of the proposal |
25
+ | Budget Creator | update the budget, not the narrative |
26
+ | Delete Proposal | delete the proposal |
27
+ | Viewer | only read the proposal |
28
+
29
+ Scenario: Narrative Writers can't edit budget details
30
+ Given I create a budget version for the proposal
31
+ And a user exists with the system role: 'Unassigned'
32
+ When I assign the Unassigned user as a Narrative Writer in the proposal permissions
33
+ Then the Unassigned user can access the proposal
34
+ And their proposal permissions do not allow them to edit budget details
30
35
 
31
36
  Scenario Outline: Proposal permissions are not passed onto future proposals initiated by the same creator
32
37
  Given a user exists with the system role: 'Unassigned'
@@ -43,30 +48,28 @@ Feature: Permissions in a Proposal
43
48
  | approver |
44
49
  | Delete Proposal |
45
50
 
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
51
+ Scenario Outline: Users who are assigned the Aggregator role cannot be assigned additional roles
52
+ Given a user exists with the system role: '<Role>'
53
+ And I assign the <Role> user as an aggregator in the proposal permissions
54
+ When I attempt to add an additional proposal role to the <Role> user
50
55
  Then there should be an error message that says not to select other roles alongside aggregator
51
56
 
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
+ Examples:
58
+ | Role |
59
+ | Unassigned |
60
+ | Proposal Creator |
57
61
 
58
62
  Scenario Outline: Users with the appropriate permissions can edit proposals that have been recalled for revisions
59
63
  Given a user exists with the system role: 'Unassigned'
60
64
  And assign the Unassigned user as a <Role> in the proposal permissions
61
65
  And complete the proposal
62
66
  And submit the proposal
63
- When I recall the proposal for revisions
67
+ When I recall the proposal
64
68
  Then the Unassigned user can access the proposal
65
69
  And their proposal permissions allow them to <Permissions>
66
70
 
67
71
  Examples:
68
72
  | Role | Permissions |
69
- | Narrative Writer | only update the Abstracts and Attachments page |
70
73
  | Aggregator | edit all parts of the proposal |
71
74
  | Budget Creator | only update the budget |
72
75
  | Delete Proposal | delete the proposal |
@@ -5,9 +5,8 @@ Feature: Proposal Workflows and Routing
5
5
  in workflow.
6
6
 
7
7
  #=================
8
- # Proposal Actions -- As proposals navigate through workflow, specific users are asked to take actions
8
+ # Proposal Actions
9
9
  #=================
10
-
11
10
  Scenario Outline: Proposal is successfully routed to PI for action
12
11
  Given users exist with the following roles: OSPApprover, Proposal Creator, Unassigned
13
12
  And I log in with the Proposal Creator user
@@ -44,10 +43,11 @@ Feature: Proposal Workflows and Routing
44
43
 
45
44
  Scenario: Aggregator successfully submits a proposal into routing
46
45
  Given a user exists with the system role: 'Proposal Creator'
46
+ And I log in with the Proposal Creator user
47
47
  And I initiate a proposal
48
48
  And I complete the proposal
49
49
  When I submit the proposal
50
- Then the proposal status should be Approval Pending
50
+ Then the proposal status should be Approval Pending
51
51
 
52
52
  Scenario: Aggregator successfully blanket approves a routed proposal
53
53
  Given a user exists with the system role: 'Proposal Creator'
@@ -55,33 +55,16 @@ Feature: Proposal Workflows and Routing
55
55
  And I submit a new development proposal into routing
56
56
  When I blanket approve the proposal
57
57
  Then the proposal status should be Approval Granted
58
-
59
- Scenario: OSP Approver successfully submits a routed proposal to the sponsor
60
- Given users exist with the following roles: Proposal Creator, OSPApprover
61
- And I log in with the Proposal Creator user
62
- And I submit a new development proposal into routing
63
- When I log in with the OSPApprover user
64
- And I submit the routed proposal to the sponsor
65
- Then the proposal status should be Approval Pending - Submitted
66
-
67
- #TODO: Scenario: An OSP Approver takes the 'Submit to sponsor' action against a routed proposal and an institutional proposal is created
68
-
69
- Scenario: Aggregator successfully recalls a routed proposal for cancellation
58
+ @test
59
+ Scenario: Aggregator successfully recalls a routed proposal
70
60
  Given a user exists with the system role: 'Proposal Creator'
71
61
  And I log in with the Proposal Creator user
72
62
  And I submit a new development proposal into routing
73
- When I recall and cancel the proposal
74
- Then the proposal status should be Document Error Occurred
75
-
76
- Scenario: Aggregator successfully recalls proposal for revisions
77
- Given a user exists with the system role: 'Proposal Creator'
78
- And I log in with the Proposal Creator user
79
- And I submit a new development proposal into routing
80
- When I recall the proposal for revisions
63
+ When I recall the proposal
81
64
  Then the proposal status should be Revisions Requested
82
65
 
83
66
  #=================
84
- # Notifications -- Notifications are sent are FYIs to select users.
67
+ # Notifications
85
68
  #=================
86
69
  Scenario: Successful delivery of an FYI from a development proposal
87
70
  Given users exist with the following roles: Proposal Creator, OSPApprover
@@ -90,16 +73,4 @@ Feature: Proposal Workflows and Routing
90
73
  When I send a notification to the OSPApprover user
91
74
  And I log in with the OSPApprover user
92
75
  Then I should receive an action list item with the requested action being: FYI
93
- And I can acknowledge the requested action list item
94
-
95
- #TODO: Scenario: An OSPApprover user can filter all of their FYIs and acknowledge them at once
96
-
97
- #=================
98
- # Action List -- Routed proposals appear in select user's action lists with requested actions
99
- #=================
100
-
101
- #TODO: Think about this scenario... Think of a new way to write this
102
- Scenario: Successful receipt of a routed proposal by an OSP Approver
103
- Given a user exists with the system role: 'OSPApprover'
104
- When I submit a new development proposal into routing
105
- Then the proposal is in the OSPApprover user's action list
76
+ And I can acknowledge the requested action list item
@@ -18,11 +18,11 @@ When /^correcting the Budget Version date will remove the warning$/ do
18
18
  end
19
19
 
20
20
  Given /^I? ?create, finalize, and mark complete a budget version for the proposal$/ do
21
- @proposal.add_budget_version(status: 'Complete', final: :set)
21
+ @proposal.add_budget_version status: 'Complete', final: :set
22
22
  end
23
23
 
24
24
  When /^I? ?copy the budget version \(all periods\)$/ do
25
- @copied_budget_version = @proposal.budget_versions.copy_all_periods(@budget_version.name, random_alphanums)
25
+ @copied_budget_version = @budget_version.copy_all_periods random_alphanums
26
26
  end
27
27
 
28
28
  When /^I? ?enter dollar amounts for all the budget periods$/ do
@@ -39,13 +39,13 @@ Then /^the copied budget's values are all as expected$/ do
39
39
  on Parameters do |page|
40
40
  page.start_date_period(period.number).value.should==period.start_date
41
41
  page.end_date_period(period.number).value.should==period.end_date
42
- page.total_sponsor_cost_period(period.number).value.should==(period.direct_cost+period.f_and_a_cost).commas
43
- page.direct_cost_period(period.number).value.should==period.direct_cost.commas
44
- page.fa_cost_period(period.number).value.should==period.f_and_a_cost.commas
45
- page.unrecovered_fa_period(period.number).value.should==period.unrecovered_f_and_a.commas
46
- page.cost_sharing_period(period.number).value.should==period.cost_sharing.commas
47
- page.cost_limit_period(period.number).value.should==period.cost_limit.commas
48
- page.direct_cost_limit_period(period.number).value.should==period.direct_cost_limit.commas
42
+ page.total_sponsor_cost_period(period.number).value.should==(period.direct_cost.to_f+period.f_and_a_cost.to_f).commas
43
+ page.direct_cost_period(period.number).value.should==period.direct_cost.to_f.commas
44
+ page.fa_cost_period(period.number).value.should==period.f_and_a_cost.to_f.commas
45
+ page.unrecovered_fa_period(period.number).value.should==period.unrecovered_f_and_a.to_f.commas
46
+ page.cost_sharing_period(period.number).value.should==period.cost_sharing.to_f.commas
47
+ page.cost_limit_period(period.number).value.should==period.cost_limit.to_f.commas
48
+ page.direct_cost_limit_period(period.number).value.should==period.direct_cost_limit.to_f.commas
49
49
  end
50
50
  end
51
51
  end
@@ -0,0 +1,11 @@
1
+ When /^I? ?add an employee to the budget's project personnel$/ do
2
+ @budget_version.add_project_personnel
3
+ end
4
+
5
+ When /^I? ?add a non-employee to the budget's project personnel$/ do
6
+ @budget_version.add_project_personnel type: 'non_employee'
7
+ end
8
+
9
+ When /^I? ?add a to-be-named person to the budget's project personnel$/ do
10
+ @budget_version.add_project_personnel type: 'to_be_named'
11
+ end
@@ -0,0 +1,9 @@
1
+ When /^I delete the proposal$/ do
2
+ @proposal.delete
3
+ end
4
+
5
+ Then /^The proposal is deleted$/ do
6
+ @proposal.status.should == 'CANCELED'
7
+ @proposal.view
8
+ on(Proposal).error_message.should == 'The Development Proposal has been deleted.'
9
+ end
@@ -31,4 +31,31 @@ Then(/^the s2s form attachment options should be appropriate to the opportunity$
31
31
  on S2S do |page|
32
32
  forms[@proposal.opportunity_id].each { |form_name| page.form_names.should include form_name }
33
33
  end
34
+ end
35
+ When(/^add the s2s forms provided by (.*)$/) do |op_id|
36
+ forms = {
37
+ 'RR-FORMFAMILY-009-2010' =>
38
+ %w{RR_Budget-V1.1 RR_FedNonFedBudget-V1.1 RR_FedNonFed_SubawardBudget-V1.2
39
+ RR_KeyPersonExpanded_1_2-V1.2 RR_OtherProjectInfo_1_3-V1.3},
40
+ 'RR-TEST-NIH-FORMS2' =>
41
+ %w{PHS398_Checklist_1_3-V1.3 PHS398_CoverPageSupplement_1_4 PHS398_ResearchPlan_1_3
42
+ PHS_CoverLetter_1_2-V1.2 PerformanceSite_1_4 RR_Budget-V1.1 RR_KeyPersonExpanded_1_2-V1.2
43
+ RR_OtherProjectInfo_1_3-V1.3 RR_SubawardBudget-V1.2 PHS398_ModularBudget_1_2-V1.2},
44
+ 'CAL-TEST-DOD2' =>
45
+ %w{RR_SubawardBudget30-V1.2},
46
+ 'CAL-FDP-JAD' =>
47
+ %w{Attachments-V1.1},
48
+ 'CSS-120809-SF424RR-V12' =>
49
+ %w{Attachments-V1.1 RR_Budget-V1.1 RR_Budget10-V1.1 RR_FedNonFedBudget-V1.1
50
+ RR_FedNonFedBudget10-V1.1 RR_FedNonFed_SubawardBudget-V1.2 RR_FedNonFedSubawardBudget10_10-V1.2
51
+ RR_FedNonFed_SubawardBudget10_30-V1.2 RR_FedNonFed_SubawardBudget30-V1.2 RR_KeyPerson-V1.1
52
+ RR_KeyPersonExpanded_1_2-V1.2 RR_OtherProjectInfo_1_3-V1.3 RR_PersonalData_1_2-V1.2
53
+ RR_SubawardBudget-V1.2 RR_SubawardBudget10_10-V1.2 RR_SubawardBudget10_30-V1.2 RR_SubawardBudget30-V1.2},
54
+ 'RR-FORMFAMILY-004-2010' =>
55
+ %w{FaithBased_SurveyOnEEO-V1.2 NASA_OtherProjectInformation-V1.0
56
+ NASA_SeniorKeyPersonSupplementalDataSheet-V1.0 Nasa_PIandAORSupplementalDataSheet-V1.0},
57
+ }
58
+ on S2S do |page|
59
+ forms[op_id].each { |form| page.include_form(form).set }
60
+ end
34
61
  end