~unifield-team/unifield-wm/us-826

« back to all changes in this revision

Viewing changes to financing_contract/test/financing_contract.yml

UF-558 [ADD] Add account_id on analytic distribution wizard to add a constraint on Funding Pool

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
-
2
 
  In order to test the financing contract,
3
 
  we need a lot.
4
 
  I create, in order, a account type, ...
5
 
-
6
 
  !record {model: account.account.type, id: account_account_type_expense0}:
7
 
    close_method: none
8
 
    code: expense
9
 
    name: Expense
10
 
    sign: 1
11
 
-
12
 
  ...an account, ...
13
 
-
14
 
  !record {model: account.account, id: test_expense}:
15
 
    name: "Test Expense"
16
 
    code: "TEST"
17
 
    user_type: account_account_type_expense0
18
 
    type: payable 
19
 
-
20
 
 ...a cost center...
21
 
-
22
 
  !record {model: account.analytic.account, id: analytic_account_OC1}:
23
 
    name: "OC1"
24
 
    code: "OC1"
25
 
    category: OC
26
 
-
27
 
 ...a cost center...
28
 
-
29
 
  !record {model: account.analytic.account, id: analytic_account_OC2}:
30
 
    name: "OC2"
31
 
    code: "OC2"
32
 
    category: OC
33
 
-
34
 
 ...a funding pool...
35
 
-
36
 
  !record {model: account.analytic.account, id: analytic_account_FP1}:
37
 
    name: "FP1"
38
 
    code: "FP1"
39
 
    category: FUNDING
40
 
    cost_center_ids:
41
 
      - analytic_account_OC2
42
 
    account_ids:
43
 
      - test_expense
44
 
-
45
 
 ...a funding pool...
46
 
-
47
 
  !record {model: account.analytic.account, id: analytic_account_FP2}:
48
 
    name: "FP1"
49
 
    code: "FP1"
50
 
    category: FUNDING
51
 
    cost_center_ids:
52
 
      - analytic_account_OC1
53
 
      - analytic_account_OC2
54
 
    account_ids:
55
 
      - test_expense
56
 
-
57
 
  I set the company currency's rate to 1 for the move
58
 
-
59
 
  !record {model: res.currency.rate, id: currency_rate_test_3}:
60
 
    name: !eval "'%s-01-01' %(datetime.now().year+1)"
61
 
    rate: 1.00
62
 
    currency_id: base.CHF
63
 
-
64
 
  I set another currency's rate to 100 for the move
65
 
-
66
 
  !record {model: res.currency.rate, id: currency_rate_test_4}:
67
 
    name: !eval "'%s-01-01' %(datetime.now().year+1)"
68
 
    rate: 100.00
69
 
    currency_id: base.EUR
70
 
-
71
 
  ...an analytical journal, ...
72
 
-
73
 
  !record {model: account.analytic.journal, id: analytic_journal_1}:
74
 
    code: CANJ
75
 
    name: Cash Analytic Journal
76
 
    type: general
77
 
-
78
 
  ...a journal, ...
79
 
-
80
 
  !record {model: account.journal, id: account_journal_1}:
81
 
    name: Cash Journal
82
 
    code: CTST
83
 
    currency: base.EUR
84
 
    type: cash
85
 
    analytic_journal_id: analytic_journal_1
86
 
-
87
 
  ...a fiscal year, ...
88
 
-
89
 
  !record {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0}:
90
 
    code: !eval "'FY%s'% (datetime.now().year+1)"
91
 
    company_id: base.main_company
92
 
    date_start: !eval "'%s-01-01' %(datetime.now().year+1)"
93
 
    date_stop: !eval "'%s-12-31' %(datetime.now().year+1)"
94
 
    name: !eval "'Fiscal Year %s' %(datetime.now().year+1)"
95
 
-
96
 
  ... and a period.
97
 
-
98
 
  !record {model: account.period, id: account_period_mar0}:
99
 
    company_id: base.main_company
100
 
    date_start: !eval "'%s-03-01' %(datetime.now().year+1)"
101
 
    date_stop: !eval "'%s-03-31' %(datetime.now().year+1)"
102
 
    fiscalyear_id: account_fiscalyear_fiscalyear0
103
 
    name: !eval "'Mar %s' %(datetime.now().year+1)"
104
 
    special: 1
105
 
    state: draft
106
 
-
107
 
  ... and a distribution.
108
 
-
109
 
  !record {model: analytic.distribution, id: distribution_test}:
110
 
    cost_center_lines: 
111
 
    - analytic_id: analytic_account_OC1
112
 
      amount: 4242.0
113
 
      currency_id: base.CHF
114
 
      date: !eval "'%s-03-12' %(datetime.now().year+1)"
115
 
    funding_pool_lines:
116
 
    - analytic_id: funding_pool.analytic_account_msf_private_funds
117
 
      cost_center_id: analytic_account_OC1
118
 
      amount: 2121.0
119
 
      currency_id: base.CHF
120
 
      date: !eval "'%s-03-12' %(datetime.now().year+1)"
121
 
    - analytic_id: analytic_account_FP1
122
 
      cost_center_id: analytic_account_OC1
123
 
      amount: 2121.0
124
 
      currency_id: base.CHF
125
 
      date: !eval "'%s-03-12' %(datetime.now().year+1)"
126
 
-
127
 
  ... and another distribution.
128
 
-
129
 
  !record {model: analytic.distribution, id: distribution_test_2}:
130
 
    cost_center_lines: 
131
 
    - analytic_id: analytic_account_OC1
132
 
      amount: 10000.0
133
 
      currency_id: base.CHF
134
 
      date: !eval "'%s-03-12' %(datetime.now().year+1)"
135
 
    - analytic_id: analytic_account_OC2
136
 
      amount: 2345.0
137
 
      currency_id: base.CHF
138
 
      date: !eval "'%s-03-12' %(datetime.now().year+1)"
139
 
    funding_pool_lines:
140
 
    - analytic_id: analytic_account_FP2
141
 
      cost_center_id: analytic_account_OC1
142
 
      amount: 10000.0
143
 
      currency_id: base.CHF
144
 
      date: !eval "'%s-03-12' %(datetime.now().year+1)"
145
 
    - analytic_id: analytic_account_FP2
146
 
      cost_center_id: analytic_account_OC2
147
 
      amount: 2345.0
148
 
      currency_id: base.CHF
149
 
      date: !eval "'%s-03-12' %(datetime.now().year+1)"
150
 
-
151
 
  I create an account move line with all of this.
152
 
-
153
 
  !record {model: account.move.line, id: move_line_test}:
154
 
    name: testline
155
 
    journal_id: account_journal_1
156
 
    period_id: account_period_mar0
157
 
    account_id: test_expense
158
 
    currency_id: base.CHF
159
 
    date: !eval "'%s-03-12' %(datetime.now().year+1)"
160
 
    debit_currency: 4242.0
161
 
    analytic_distribution_id: distribution_test
162
 
-
163
 
  I create an account move line with all of this.
164
 
-
165
 
  !record {model: account.move.line, id: move_line_test_2}:
166
 
    name: testline2
167
 
    journal_id: account_journal_1
168
 
    period_id: account_period_mar0
169
 
    account_id: test_expense
170
 
    currency_id: base.CHF
171
 
    date: !eval "'%s-03-12' %(datetime.now().year+1)"
172
 
    debit_currency: 12345.0
173
 
    analytic_distribution_id: distribution_test_2
174
 
      
175
 
-
176
 
  Analytic lines are created from it
177
 
-
178
 
  !python {model: account.move.line}: |
179
 
    self.create_analytic_lines(cr, uid, [ref("move_line_test"), ref("move_line_test_2")], context={})
180
 
 
181
 
-
182
 
  Create a donor (almost empty)
183
 
-
184
 
  !record {model: financing.contract.donor, id: donor1}:
185
 
    name: "Donor"
186
 
    code: "TEST"
187
 
-
188
 
  Create a contract
189
 
-
190
 
  !record {model: financing.contract.contract, id: contract1}:
191
 
    name: "Contract"
192
 
    code: "TEST"
193
 
    donor_id: donor1
194
 
    grant_name: "Grant Name"
195
 
    grant_amount: 100000.0
196
 
    eligibility_from_date: !eval "'%s-01-01' %(datetime.now().year+1)"
197
 
    eligibility_to_date: !eval "'%s-12-31' %(datetime.now().year+1)"
198
 
    reporting_currency: base.CHF
199
 
    funding_pool_ids:
200
 
      - funding_pool_id: analytic_account_FP1
201
 
        funded: True
202
 
      - funding_pool_id: analytic_account_FP2
203
 
        funded: False
204
 
    cost_center_ids:
205
 
      - analytic_account_OC1
206
 
    actual_line_ids:
207
 
      - name: "A"
208
 
        code: "A"
209
 
        account_ids:
210
 
          - test_expense
211
 
-
212
 
  Assert that total retrieved for funded is 2121 CHF, and project is 12121 CHF
213
 
-
214
 
  !python {model: financing.contract.contract}: |
215
 
    context = {"reporting_currency": ref("base.CHF"),
216
 
               "reporting_type": "all",
217
 
               "currency_table_id": None}
218
 
    contract = self.pool.get('financing.contract.contract').browse(cr, uid, ref("contract1"), context=context)
219
 
    assert len(contract.actual_line_ids) == 1, ("No reporting line!")
220
 
    assert contract.actual_line_ids[0].allocated_real == 2121, ("Allocation is not what is expected!")
221
 
    assert contract.actual_line_ids[0].project_real == 12121, ("Project is not what is expected!")
222
 
-
223
 
  Assert that total retrieved for funded is 212100 EUR
224
 
-
225
 
  !python {model: financing.contract.contract}: |
226
 
    context = {"reporting_currency": ref("base.EUR"),
227
 
               "reporting_type": "all",
228
 
               "currency_table_id": None}
229
 
    contract = self.pool.get('financing.contract.contract').browse(cr, uid, ref("contract1"), context=context)
230
 
    assert len(contract.actual_line_ids) == 1, ("No reporting line!")
231
 
    assert contract.actual_line_ids[0].allocated_real == 212100, ("Allocation is not what is expected!")
232
 
    assert contract.actual_line_ids[0].project_real == 1212100, ("Project is not what is expected!")
233
 
-
234
 
  Create a currency table
235
 
-
236
 
  !record {model: res.currency.table, id: test_table}:
237
 
    name: "Test"
238
 
    code: "TEST"
239
 
-
240
 
  Change test currency's rate for this table
241
 
-
242
 
  !python {model: res.currency.rate}: |
243
 
    import datetime
244
 
    rate_ids = self.pool.get("res.currency").search(cr, uid, [("reference_currency_id", "=", ref("base.EUR")),
245
 
                                                              ("currency_table_id", "=", ref("test_table"))])
246
 
                                                              
247
 
    assert len(rate_ids) == 1, "Something wrong with the currency table creation"
248
 
    self.create(cr, uid, {"name": "%s-03-01" %(datetime.datetime.now().year+1),
249
 
                          "rate": 10.0,
250
 
                          "currency_id": rate_ids[0]})
251
 
-
252
 
  Assert that total retrieved for funded with currency table is 21210 EUR
253
 
-
254
 
  !python {model: financing.contract.contract}: |
255
 
    context = {"reporting_currency": ref("base.EUR"),
256
 
               "reporting_type": "all",
257
 
               "currency_table_id": ref("test_table")}
258
 
    contract = self.pool.get('financing.contract.contract').browse(cr, uid, ref("contract1"), context=context)
259
 
    assert len(contract.actual_line_ids) == 1, ("No reporting line!")
260
 
    assert contract.actual_line_ids[0].allocated_real == 21210, ("Allocation is not what is expected!")
261
 
    assert contract.actual_line_ids[0].project_real == 121210, ("Project is not what is expected!")
262
 
    
 
 
b'\\ No newline at end of file'