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.
- checksums.yaml +8 -8
- data/features/grants_gov/grants_gov_forms/code_and_form_mapping.feature +3 -3
- data/features/grants_gov/grants_gov_forms/forms_validation.feature +5 -1
- data/features/grants_gov/grants_gov_forms/s2s_questionnaire.feature +5 -3
- data/features/grants_gov/s2s_submission.feature +7 -4
- data/features/proposal_development/create_budget_versions.feature +2 -1
- data/features/proposal_development/create_proposal.feature +21 -19
- data/features/proposal_development/key_personnel_validations.feature +4 -3
- data/features/proposal_development/proposal_actions_validations.feature +9 -17
- data/features/proposal_development/proposal_permissions.feature +25 -22
- data/features/proposal_development/proposal_workflow.feature +8 -37
- data/features/step_definitions/{proposal_development → budget_versions}/budget_versions.rb +9 -9
- data/features/step_definitions/budget_versions/project_personnel.rb +11 -0
- data/features/step_definitions/delete_proposals.rb +9 -0
- data/features/step_definitions/grants_gov/forms.rb +27 -0
- data/features/step_definitions/grants_gov/s2s_submission.rb +30 -5
- data/features/step_definitions/proposal_development/create_proposal.rb +2 -9
- data/features/step_definitions/proposal_development/edit_proposal.rb +3 -4
- data/features/step_definitions/proposal_development/key_personnel_validations.rb +10 -1
- data/features/step_definitions/proposal_development/proposal_actions_validations.rb +7 -6
- data/features/step_definitions/proposal_development/proposal_permissions.rb +51 -65
- data/features/step_definitions/proposal_development/proposal_workflow.rb +0 -15
- data/features/step_definitions/test.rb +1 -3
- data/features/step_definitions/users.rb +6 -6
- data/features/support/env.rb +1 -1
- data/features/test.feature +3 -1
- data/kuality-coeus.gemspec +1 -1
- data/lib/kuality-coeus.rb +5 -5
- data/lib/kuality-coeus/data_objects/budget/budget_periods.rb +5 -4
- data/lib/kuality-coeus/data_objects/budget/budget_versions.rb +18 -7
- data/lib/kuality-coeus/data_objects/budget/personnel.rb +135 -0
- data/lib/kuality-coeus/data_objects/budget/subaward_budget.rb +1 -3
- data/lib/kuality-coeus/data_objects/identity/group.rb +19 -0
- data/lib/kuality-coeus/data_objects/navigation.rb +23 -0
- data/lib/kuality-coeus/data_objects/proposal_development/degrees.rb +1 -2
- data/lib/kuality-coeus/data_objects/proposal_development/key_personnel.rb +3 -6
- data/lib/kuality-coeus/data_objects/proposal_development/permissions.rb +16 -4
- data/lib/kuality-coeus/data_objects/proposal_development/proposal_development.rb +7 -5
- data/lib/kuality-coeus/data_objects/user.rb +23 -17
- data/lib/kuality-coeus/page_objects/000_base_page.rb +2 -1
- data/lib/kuality-coeus/page_objects/budget/non-personnel.rb +0 -2
- data/lib/kuality-coeus/page_objects/budget/parameters.rb +4 -1
- data/lib/kuality-coeus/page_objects/budget/personnel.rb +18 -26
- data/lib/kuality-coeus/page_objects/confirmation.rb +0 -2
- data/lib/kuality-coeus/page_objects/identity/group.rb +7 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/000_lookups.rb +6 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/job_code_lookup.rb +3 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/non_org_address_lookup.rb +14 -0
- data/lib/kuality-coeus/page_objects/lookup_pages/person_lookup.rb +4 -2
- data/lib/kuality-coeus/page_objects/lookup_pages/to_be_named_lookup.rb +9 -0
- data/lib/kuality-coeus/page_objects/{institute_rates_maintenance.rb → maintenance/institute_rates_maintenance.rb} +0 -0
- data/lib/kuality-coeus/page_objects/proposal_development/permissions.rb +9 -1
- data/lib/kuality-coeus/page_objects/system_admin.rb +1 -1
- data/lib/kuality-coeus/utilities.rb +5 -6
- data/lib/resources/NSF_CoverPage_1_3-V1.3.pdf +0 -0
- data/lib/resources/NSF_DATA_MANAGEMENT_PLAN.pdf +0 -0
- data/lib/resources/PHS_Fellowship_Supplemental_1_1-V1.1.pdf +0 -0
- data/lib/resources/test.pdf +0 -0
- metadata +16 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ODk5YjMzNTg3YTUzNWM5NTc3NzYxYWFhNTJhM2UyZWE0MzgyOTIzNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZmM2YjY1NTc1ZGY3OTMyZmFkYWJhZDdlNzg3M2RhMDRjMjg0MDljNw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjhlODJkODQ4ZWM4NjFkZjEzMTZlZjI1YzBiYzMxZTJhZjM2ZmU0MDQ4Njdl
|
10
|
+
OTRiZTI5ZjA1Njg4OTEwMDRiYjk5MmVkNGZlOTA0NzliMTkyMzlhNzQxMzU0
|
11
|
+
ZDA0MTQzZDM5YjMyNTA2YjQ0MDQwNDAyYjgzYTNjMTk1ZDgzYjE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
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 <
|
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
|
-
|
|
21
|
+
| Opportunity |
|
22
22
|
| RR-FORMFAMILY-004-2010 |
|
23
23
|
| RR-FORMFAMILY-009-2010 |
|
24
24
|
| CSS-120809-SF424RR-V12 |
|
@@ -1,8 +1,10 @@
|
|
1
1
|
Feature: S2S Questionnaire Population and Functionality
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
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
|
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
|
29
|
-
| Grants.Gov | NIH
|
30
|
-
| Grants.Gov | NIH
|
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
|
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,
|
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
|
6
|
-
|
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
|
-
|
9
|
-
|
10
|
-
|
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
|
-
|
17
|
-
|
18
|
-
|
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
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
9
|
-
And
|
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
|
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
|
31
|
-
Given I initiate a proposal with an un-certified
|
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
|
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
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
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:
|
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
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
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: '
|
48
|
-
And I assign the
|
49
|
-
When I attempt to add an additional proposal role to the
|
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
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
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
|
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
|
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
|
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:
|
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
|
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
|
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
|
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 = @
|
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
|
@@ -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
|