refactor(client_defaulter)
gitea/salix/pipeline/head This commit looks good Details

This commit is contained in:
Alex Moreno 2022-05-12 14:18:16 +02:00
parent 558585fd15
commit ec49dd67be
7 changed files with 29 additions and 38 deletions

View File

@ -28,12 +28,12 @@ describe('Client defaulter path', () => {
const salesPersonName = const salesPersonName =
await page.waitToGetProperty(selectors.clientDefaulter.firstSalesPersonName, 'innerText'); await page.waitToGetProperty(selectors.clientDefaulter.firstSalesPersonName, 'innerText');
expect(clientName).toEqual('Ororo Munroe'); expect(clientName).toEqual('Bruce Banner');
expect(salesPersonName).toEqual('salesPersonNick'); expect(salesPersonName).toEqual('developer');
}); });
it('should first observation not changed', async() => { it('should first observation not changed', async() => {
const expectedObservation = 'Madness, as you know, is like gravity, all it takes is a little push'; const expectedObservation = 'Meeting with Black Widow 21st 9am';
const result = await page.waitToGetProperty(selectors.clientDefaulter.firstObservation, 'value'); const result = await page.waitToGetProperty(selectors.clientDefaulter.firstObservation, 'value');
expect(result).toContain(expectedObservation); expect(result).toContain(expectedObservation);

View File

@ -58,12 +58,12 @@ module.exports = Self => {
DISTINCT c.id clientFk, DISTINCT c.id clientFk,
c.name clientName, c.name clientName,
c.salesPersonFk, c.salesPersonFk,
u.nickname salesPersonName, u.name salesPersonName,
d.amount, d.amount,
co.created, co.created,
co.text observation, co.text observation,
uw.id workerFk, uw.id workerFk,
uw.nickname workerName, uw.name workerName,
c.creditInsurance, c.creditInsurance,
d.defaulterSinced d.defaulterSinced
FROM vn.defaulter d FROM vn.defaulter d

View File

@ -9,19 +9,19 @@
}, },
"properties": { "properties": {
"id": { "id": {
"type": "Number" "type": "number"
}, },
"created": { "created": {
"type": "Date" "type": "date"
}, },
"amount": { "amount": {
"type": "Number" "type": "number"
}, },
"defaulterSinced": { "defaulterSinced": {
"type": "Number" "type": "number"
}, },
"hasChanged": { "hasChanged": {
"type": "Number" "type": "number"
} }
}, },
"relations": { "relations": {

View File

@ -3,6 +3,7 @@
url="Defaulters/filter" url="Defaulters/filter"
filter="::$ctrl.filter" filter="::$ctrl.filter"
limit="20" limit="20"
order="amount DESC"
data="defaulters" data="defaulters"
auto-load="true"> auto-load="true">
</vn-crud-model> </vn-crud-model>
@ -26,7 +27,7 @@
<h6 translate>Total</h6> <h6 translate>Total</h6>
<vn-label-value <vn-label-value
label="Balance due" label="Balance due"
value="{{$ctrl.balanceDueTotal | currency: 'EUR': 2}}"> value="{{::$ctrl.balanceDueTotal | currency: 'EUR': 2}}">
</vn-label-value> </vn-label-value>
</div> </div>
</div> </div>
@ -70,13 +71,13 @@
</th> </th>
<th <th
vn-tooltip="Last observation date" vn-tooltip="Last observation date"
field="created" field="created">
shrink-datetime> <span translate>L. O. Date</span>
<span translate>Last observation D.</span>
</th> </th>
<th <th
vn-tooltip="Credit insurance" vn-tooltip="Credit insurance"
field="creditInsurance" > field="creditInsurance"
shrink>
<span translate>Credit I.</span> <span translate>Credit I.</span>
</th> </th>
<th field="defaulterSinced"> <th field="defaulterSinced">
@ -124,13 +125,13 @@
ng-model="defaulter.observation"> ng-model="defaulter.observation">
</vn-textarea> </vn-textarea>
</td> </td>
<td shrink-datetime> <td shrink-date>
<span class="chip {{::$ctrl.chipColor(defaulter.created)}}"> <span class="chip {{::$ctrl.chipColor(defaulter.created)}}">
{{::defaulter.created | date: 'dd/MM/yyyy'}} {{::defaulter.created | date: 'dd/MM/yyyy'}}
</span> </span>
</td> </td>
<td>{{::defaulter.creditInsurance | currency: 'EUR': 2}}</td> <td shrink>{{::defaulter.creditInsurance | currency: 'EUR': 2}}</td>
<td>{{::defaulter.defaulterSinced | date: 'dd/MM/yyyy'}}</td> <td shrink-date>{{::defaulter.defaulterSinced | date: 'dd/MM/yyyy'}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -53,16 +53,16 @@ export default class Controller extends Section {
} }
] ]
}; };
}
get balanceDueTotal() { this.$http.get('Defaulters/filter')
let balanceDueTotal = 0; .then(res => {
const defaulters = this.$.model.data || []; if (!res.data) return 0;
for (let defaulter of defaulters) this.balanceDueTotal = res.data.reduce(
balanceDueTotal += defaulter.amount; (accumulator, currentValue) => {
return accumulator + (currentValue['amount'] || 0);
return balanceDueTotal; }, 0);
});
} }
get checked() { get checked() {

View File

@ -36,17 +36,6 @@ describe('client defaulter', () => {
}); });
}); });
describe('balanceDueTotal() getter', () => {
it('should return balance due total', () => {
const data = controller.$.model.data;
const expectedAmount = data[0].amount + data[1].amount + data[2].amount;
const result = controller.balanceDueTotal;
expect(result).toEqual(expectedAmount);
});
});
describe('chipColor()', () => { describe('chipColor()', () => {
it('should return undefined when the date is the present', () => { it('should return undefined when the date is the present', () => {
let today = new Date(); let today = new Date();
@ -93,6 +82,7 @@ describe('client defaulter', () => {
const params = [{text: controller.defaulter.observation, clientFk: data[1].clientFk}]; const params = [{text: controller.defaulter.observation, clientFk: data[1].clientFk}];
jest.spyOn(controller.vnApp, 'showMessage'); jest.spyOn(controller.vnApp, 'showMessage');
$httpBackend.expect('GET', `Defaulters/filter`).respond(200);
$httpBackend.expect('POST', `ClientObservations`, params).respond(200, params); $httpBackend.expect('POST', `ClientObservations`, params).respond(200, params);
controller.onResponse(); controller.onResponse();

View File

@ -3,7 +3,7 @@ Add observation to all selected clients: Añadir observación a {{total}} client
Balance D.: Saldo V. Balance D.: Saldo V.
Credit I.: Crédito A. Credit I.: Crédito A.
Last observation: Última observación Last observation: Última observación
Last observation D.: Fecha última O. L. O. Date: Fecha Ú. O.
Last observation date: Fecha última observación Last observation date: Fecha última observación
Search client: Buscar clientes Search client: Buscar clientes
Worker who made the last observation: Trabajador que ha realizado la última observación Worker who made the last observation: Trabajador que ha realizado la última observación