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