-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Aggiunta gestione dei dati di contabilita nel caricamento delle pendenze nei pagamenti spontanei API-Pagamento V2.
- Loading branch information
Showing
8 changed files
with
953 additions
and
5 deletions.
There are no files selected for viewing
53 changes: 53 additions & 0 deletions
53
...pagamento/v2/pagamenti/post/msg/pagamento-post_spontaneo_entratariferita_contabilita.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
{ | ||
"pendenze": [ | ||
{ | ||
"idTipoPendenza" : '#(codEntrataSegreteria)', | ||
"idA2A": "#(idA2A)", | ||
"idPendenza": '#(idPendenza)', | ||
"idDominio": "#(idDominio)", | ||
"causale": '#("Pagamento spontaneo n." + idPendenza)', | ||
"soggettoPagatore": { | ||
"tipo": "F", | ||
"identificativo": "RSSMRA30A01H501I", | ||
"anagrafica": "Mario Rossi" | ||
}, | ||
"importo": 100.99, | ||
"voci": [ | ||
{ | ||
"idVocePendenza": '1', | ||
"importo": 100.99, | ||
"descrizione": "Diritti e segreteria", | ||
"codEntrata": "SEGRETERIA", | ||
"contabilita" : { | ||
"quote" : | ||
[ | ||
{ | ||
"capitolo": "capitolo1", | ||
"annoEsercizio": 2020, | ||
"accertamento": null, | ||
"importo": 0.99, | ||
"proprietaCustom": null, | ||
"titolo": null, | ||
"tipologia": null, | ||
"categoria": null, | ||
"articolo": null | ||
}, | ||
{ | ||
"capitolo": "capitolo2", | ||
"annoEsercizio": 2020, | ||
"accertamento": null, | ||
"importo": 100.00, | ||
"proprietaCustom": null, | ||
"titolo": null, | ||
"tipologia": null, | ||
"categoria": null, | ||
"articolo": null | ||
} | ||
], | ||
"proprietaCustom" : null | ||
} | ||
} | ||
] | ||
} | ||
] | ||
} |
270 changes: 270 additions & 0 deletions
270
...pagamento/v2/pagamenti/post/pagamento-spontaneo-applicazione-contabilita-pendenza.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,270 @@ | ||
Feature: Pagamenti spontanei con pendenze con contabilita definita | ||
|
||
Background: | ||
|
||
* callonce read('classpath:utils/common-utils.feature') | ||
* callonce read('classpath:configurazione/v1/anagrafica.feature') | ||
|
||
* def idPendenza = getCurrentTimeMillis() | ||
* def pagamentiBaseurl = getGovPayApiBaseUrl({api: 'pagamento', versione: 'v2', autenticazione: 'basic'}) | ||
|
||
* def pendenzaResponse = read('classpath:test/api/pendenza/v2/pendenze/put/msg/pendenza-get_monovoce_contabilita.json') | ||
* def pendenzeBaseurl = getGovPayApiBaseUrl({api: 'pendenze', versione: 'v2', autenticazione: 'basic'}) | ||
* def loremIpsum = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus non neque vestibulum, porta eros quis, fringilla enim. Nam sit amet justo sagittis, pretium urna et, convallis nisl. Proin fringilla consequat ex quis pharetra. Nam laoreet dignissim leo. Ut pulvinar odio et egestas placerat. Quisque tincidunt egestas orci, feugiat lobortis nisi tempor id. Donec aliquet sed massa at congue. Sed dictum, elit id molestie ornare, nibh augue facilisis ex, in molestie metus enim finibus arcu. Donec non elit dictum, dignissim dui sed, facilisis enim. Suspendisse nec cursus nisi. Ut turpis justo, fermentum vitae odio et, hendrerit sodales tortor. Aliquam varius facilisis nulla vitae hendrerit. In cursus et lacus vel consectetur.' | ||
|
||
|
||
Scenario: Pagamento spontaneo basic con entrata riferita, versante specificato e contabilita definita | ||
|
||
* def idPendenza = getCurrentTimeMillis() | ||
* def pagamentoPost = read('classpath:test/api/pagamento/v2/pagamenti/post/msg/pagamento-post_spontaneo_entratariferita_contabilita.json') | ||
* set pagamentoPost.soggettoVersante = | ||
""" | ||
{ | ||
"tipo": "F", | ||
"identificativo": "RSSMRA30A01H501I", | ||
"anagrafica": "Mario Rossi", | ||
"indirizzo": "Piazza della Vittoria", | ||
"civico": "10/A", | ||
"cap": 0, | ||
"localita": "Roma", | ||
"provincia": "Roma", | ||
"nazione": "IT", | ||
"email": "mario.rossi@host.eu", | ||
"cellulare": "+39 000-1234567" | ||
} | ||
""" | ||
|
||
Given url pagamentiBaseurl | ||
And path '/pagamenti' | ||
And headers idA2ABasicAutenticationHeader | ||
And request pagamentoPost | ||
When method post | ||
Then status 201 | ||
And match response == { id: '#notnull', location: '#notnull', redirect: '#notnull', idSession: '#notnull' } | ||
|
||
Given url pagamentiBaseurl | ||
And path '/pagamenti/byIdSession/', response.idSession | ||
And headers idA2ABasicAutenticationHeader | ||
When method get | ||
Then status 200 | ||
And match response.rpp[0].rpt.soggettoVersante == | ||
""" | ||
{ | ||
"identificativoUnivocoVersante": { | ||
"tipoIdentificativoUnivoco":"#(pagamentoPost.soggettoVersante.tipo)", | ||
"codiceIdentificativoUnivoco":"#(pagamentoPost.soggettoVersante.identificativo)" | ||
}, | ||
"anagraficaVersante":"#(pagamentoPost.soggettoVersante.anagrafica)", | ||
"indirizzoVersante":"#(pagamentoPost.soggettoVersante.indirizzo)", | ||
"civicoVersante":"#(pagamentoPost.soggettoVersante.civico)", | ||
"capVersante":"#(pagamentoPost.soggettoVersante.cap + '')", | ||
"localitaVersante":"#(pagamentoPost.soggettoVersante.localita)", | ||
"provinciaVersante":"#(pagamentoPost.soggettoVersante.provincia)", | ||
"nazioneVersante":"#(pagamentoPost.soggettoVersante.nazione)", | ||
"e-mailVersante":"#(pagamentoPost.soggettoVersante.email)" | ||
} | ||
""" | ||
|
||
Given url pendenzeBaseurl | ||
And path '/pendenze', idA2A, idPendenza | ||
And headers idA2ABasicAutenticationHeader | ||
When method get | ||
Then status 200 | ||
|
||
* match response.voci[0].contabilita == pendenzaResponse.voci[0].contabilita | ||
* match response.stato == 'NON_ESEGUITA' | ||
|
||
Scenario: Pagamento spontaneo basic con entrata riferita, versante specificato e contabilita con proprieta custom definita | ||
|
||
* def idPendenza = getCurrentTimeMillis() | ||
* def pagamentoPost = read('classpath:test/api/pagamento/v2/pagamenti/post/msg/pagamento-post_spontaneo_entratariferita_contabilita.json') | ||
|
||
* set pagamentoPost.soggettoVersante = | ||
""" | ||
{ | ||
"tipo": "F", | ||
"identificativo": "RSSMRA30A01H501I", | ||
"anagrafica": "Mario Rossi", | ||
"indirizzo": "Piazza della Vittoria", | ||
"civico": "10/A", | ||
"cap": 0, | ||
"localita": "Roma", | ||
"provincia": "Roma", | ||
"nazione": "IT", | ||
"email": "mario.rossi@host.eu", | ||
"cellulare": "+39 000-1234567" | ||
} | ||
""" | ||
|
||
* def proprietaCustom = | ||
""" | ||
{ "test1" : 1, "test2" : "test", "test3" : false, "test4" : { "test1" : 1 } } | ||
""" | ||
* set pagamentoPost.pendenze[0].voci[0].contabilita.proprietaCustom = proprietaCustom | ||
* set pendenzaResponse.voci[0].contabilita.proprietaCustom = proprietaCustom | ||
|
||
Given url pagamentiBaseurl | ||
And path '/pagamenti' | ||
And headers idA2ABasicAutenticationHeader | ||
And request pagamentoPost | ||
When method post | ||
Then status 201 | ||
And match response == { id: '#notnull', location: '#notnull', redirect: '#notnull', idSession: '#notnull' } | ||
|
||
Given url pagamentiBaseurl | ||
And path '/pagamenti/byIdSession/', response.idSession | ||
And headers idA2ABasicAutenticationHeader | ||
When method get | ||
Then status 200 | ||
And match response.rpp[0].rpt.soggettoVersante == | ||
""" | ||
{ | ||
"identificativoUnivocoVersante": { | ||
"tipoIdentificativoUnivoco":"#(pagamentoPost.soggettoVersante.tipo)", | ||
"codiceIdentificativoUnivoco":"#(pagamentoPost.soggettoVersante.identificativo)" | ||
}, | ||
"anagraficaVersante":"#(pagamentoPost.soggettoVersante.anagrafica)", | ||
"indirizzoVersante":"#(pagamentoPost.soggettoVersante.indirizzo)", | ||
"civicoVersante":"#(pagamentoPost.soggettoVersante.civico)", | ||
"capVersante":"#(pagamentoPost.soggettoVersante.cap + '')", | ||
"localitaVersante":"#(pagamentoPost.soggettoVersante.localita)", | ||
"provinciaVersante":"#(pagamentoPost.soggettoVersante.provincia)", | ||
"nazioneVersante":"#(pagamentoPost.soggettoVersante.nazione)", | ||
"e-mailVersante":"#(pagamentoPost.soggettoVersante.email)" | ||
} | ||
""" | ||
|
||
Given url pendenzeBaseurl | ||
And path '/pendenze', idA2A, idPendenza | ||
And headers idA2ABasicAutenticationHeader | ||
When method get | ||
Then status 200 | ||
|
||
* match response.voci[0].contabilita == pendenzaResponse.voci[0].contabilita | ||
* match response.stato == 'NON_ESEGUITA' | ||
|
||
Scenario: Pagamento spontaneo basic con entrata riferita, versante specificato e contabilita.quote[0] con proprieta custom definita | ||
|
||
* def idPendenza = getCurrentTimeMillis() | ||
* def pagamentoPost = read('classpath:test/api/pagamento/v2/pagamenti/post/msg/pagamento-post_spontaneo_entratariferita_contabilita.json') | ||
|
||
* set pagamentoPost.soggettoVersante = | ||
""" | ||
{ | ||
"tipo": "F", | ||
"identificativo": "RSSMRA30A01H501I", | ||
"anagrafica": "Mario Rossi", | ||
"indirizzo": "Piazza della Vittoria", | ||
"civico": "10/A", | ||
"cap": 0, | ||
"localita": "Roma", | ||
"provincia": "Roma", | ||
"nazione": "IT", | ||
"email": "mario.rossi@host.eu", | ||
"cellulare": "+39 000-1234567" | ||
} | ||
""" | ||
|
||
* def proprietaCustom = | ||
""" | ||
{ "test1" : 1, "test2" : "test", "test3" : false, "test4" : { "test1" : 1 } } | ||
""" | ||
* set pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].proprietaCustom = proprietaCustom | ||
* set pendenzaResponse.voci[0].contabilita.quote[0].proprietaCustom = proprietaCustom | ||
|
||
Given url pagamentiBaseurl | ||
And path '/pagamenti' | ||
And headers idA2ABasicAutenticationHeader | ||
And request pagamentoPost | ||
When method post | ||
Then status 201 | ||
And match response == { id: '#notnull', location: '#notnull', redirect: '#notnull', idSession: '#notnull' } | ||
|
||
Given url pagamentiBaseurl | ||
And path '/pagamenti/byIdSession/', response.idSession | ||
And headers idA2ABasicAutenticationHeader | ||
When method get | ||
Then status 200 | ||
And match response.rpp[0].rpt.soggettoVersante == | ||
""" | ||
{ | ||
"identificativoUnivocoVersante": { | ||
"tipoIdentificativoUnivoco":"#(pagamentoPost.soggettoVersante.tipo)", | ||
"codiceIdentificativoUnivoco":"#(pagamentoPost.soggettoVersante.identificativo)" | ||
}, | ||
"anagraficaVersante":"#(pagamentoPost.soggettoVersante.anagrafica)", | ||
"indirizzoVersante":"#(pagamentoPost.soggettoVersante.indirizzo)", | ||
"civicoVersante":"#(pagamentoPost.soggettoVersante.civico)", | ||
"capVersante":"#(pagamentoPost.soggettoVersante.cap + '')", | ||
"localitaVersante":"#(pagamentoPost.soggettoVersante.localita)", | ||
"provinciaVersante":"#(pagamentoPost.soggettoVersante.provincia)", | ||
"nazioneVersante":"#(pagamentoPost.soggettoVersante.nazione)", | ||
"e-mailVersante":"#(pagamentoPost.soggettoVersante.email)" | ||
} | ||
""" | ||
|
||
Given url pendenzeBaseurl | ||
And path '/pendenze', idA2A, idPendenza | ||
And headers idA2ABasicAutenticationHeader | ||
When method get | ||
Then status 200 | ||
|
||
* match response.voci[0].contabilita == pendenzaResponse.voci[0].contabilita | ||
* match response.stato == 'NON_ESEGUITA' | ||
|
||
Scenario Outline: Pagamento spontaneo basic con entrata riferita, versante specificato e pendenza con contabilita errata | ||
|
||
* def idPendenza = getCurrentTimeMillis() | ||
* def pagamentoPost = read('classpath:test/api/pagamento/v2/pagamenti/post/msg/pagamento-post_spontaneo_entratariferita_contabilita.json') | ||
|
||
* set pagamentoPost.soggettoVersante = | ||
""" | ||
{ | ||
"tipo": "F", | ||
"identificativo": "RSSMRA30A01H501I", | ||
"anagrafica": "Mario Rossi", | ||
"indirizzo": "Piazza della Vittoria", | ||
"civico": "10/A", | ||
"cap": 0, | ||
"localita": "Roma", | ||
"provincia": "Roma", | ||
"nazione": "IT", | ||
"email": "mario.rossi@host.eu", | ||
"cellulare": "+39 000-1234567" | ||
} | ||
""" | ||
|
||
* set <fieldRequest> = <fieldValue> | ||
|
||
Given url pagamentiBaseurl | ||
And path '/pagamenti' | ||
And headers idA2ABasicAutenticationHeader | ||
And request pagamentoPost | ||
When method post | ||
Then status 400 | ||
* match response contains { categoria: 'RICHIESTA', codice: 'SINTASSI', descrizione: 'Richiesta non valida' } | ||
* match response.dettaglio contains <fieldResponse> | ||
|
||
Examples: | ||
| field | fieldRequest | fieldValue | fieldResponse | | ||
| importo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].importo | null | 'importo' | | ||
| importo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].importo | '10.001' | 'importo' | | ||
| importo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].importo | '10,000' | 'importo' | | ||
| importo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].importo | '10,00.0' | 'importo' | | ||
| importo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].importo | 'aaaa' | 'importo' | | ||
| importo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].importo | '12345678901234567,89' | 'importo' | | ||
| capitolo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].capitolo | loremIpsum | 'capitolo' | | ||
| capitolo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].capitolo | null | 'capitolo' | | ||
| accertamento | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].accertamento | loremIpsum | 'accertamento' | | ||
| annoEsercizio | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].annoEsercizio | 12345 | 'annoEsercizio' | | ||
| annoEsercizio | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].annoEsercizio | loremIpsum | 'annoEsercizio' | | ||
| annoEsercizio | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].annoEsercizio | null | 'annoEsercizio' | | ||
| titolo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].titolo | loremIpsum | 'titolo' | | ||
| tipologia | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].tipologia | loremIpsum | 'tipologia' | | ||
| categoria | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].categoria | loremIpsum | 'categoria' | | ||
| articolo | pagamentoPost.pendenze[0].voci[0].contabilita.quote[0].articolo | loremIpsum | 'articolo' | | ||
|
||
|
||
|
||
|
||
|
Oops, something went wrong.