kuality-coeus 0.0.3 → 0.0.4

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