Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix into puppeteer
This commit is contained in:
commit
2e905d6858
|
@ -1580,9 +1580,9 @@ INSERT INTO `postgresql`.`calendar_employee` (`business_id`, `calendar_state_id`
|
||||||
(107, 1, DATE_ADD(CURDATE(), INTERVAL -12 DAY)),
|
(107, 1, DATE_ADD(CURDATE(), INTERVAL -12 DAY)),
|
||||||
(107, 2, DATE_ADD(CURDATE(), INTERVAL -20 DAY));
|
(107, 2, DATE_ADD(CURDATE(), INTERVAL -20 DAY));
|
||||||
|
|
||||||
INSERT INTO `vn`.`smsConfig` (`id`, `uri`, `user`, `password`, `title`)
|
INSERT INTO `vn`.`smsConfig` (`id`, `uri`, `title`)
|
||||||
VALUES
|
VALUES
|
||||||
('1', 'https://websms.xtratelecom.es/api_php/server.wsdl', 'VERDINATURA', '182wbOKu', 'Verdnatura');
|
('1', 'https://websms.xtratelecom.es/api_php/server.wsdl', 'Verdnatura');
|
||||||
|
|
||||||
INSERT INTO `vn`.`sharingClient`(`id`, `workerFk`, `started`, `ended`, `clientFk`)
|
INSERT INTO `vn`.`sharingClient`(`id`, `workerFk`, `started`, `ended`, `clientFk`)
|
||||||
VALUES
|
VALUES
|
||||||
|
|
|
@ -47,17 +47,25 @@ module.exports = Self => {
|
||||||
let xmlParsed;
|
let xmlParsed;
|
||||||
let status;
|
let status;
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
[xmlResponse] = await soapClient.sendSMSAsync(params);
|
if (process.env.NODE_ENV !== 'production') {
|
||||||
xmlResult = xmlResponse.result.$value;
|
status = {
|
||||||
xmlParsed = await new Promise((resolve, reject) => {
|
codigo: [200],
|
||||||
xmlParser(xmlResult, (err, result) => {
|
descripcion: ['Fake response']
|
||||||
if (err)
|
};
|
||||||
reject(err);
|
} else {
|
||||||
resolve(result);
|
[xmlResponse] = await soapClient.sendSMSAsync(params);
|
||||||
|
xmlResult = xmlResponse.result.$value;
|
||||||
|
xmlParsed = await new Promise((resolve, reject) => {
|
||||||
|
xmlParser(xmlResult, (err, result) => {
|
||||||
|
if (err)
|
||||||
|
reject(err);
|
||||||
|
resolve(result);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
[status] = xmlParsed['xtratelecom-sms-response'].sms;
|
||||||
[status] = xmlParsed['xtratelecom-sms-response'].sms;
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,43 +32,6 @@ describe('sms send()', () => {
|
||||||
let result = await app.models.Sms.send(ctx, 105, 'destination', 'My SMS Body');
|
let result = await app.models.Sms.send(ctx, 105, 'destination', 'My SMS Body');
|
||||||
|
|
||||||
expect(result.statusCode).toEqual(200);
|
expect(result.statusCode).toEqual(200);
|
||||||
expect(result.status).toContain('Envio en procesamiento');
|
expect(result.status).toContain('Fake response');
|
||||||
});
|
|
||||||
|
|
||||||
it(`should throw if the response code isn't 200`, async() => {
|
|
||||||
let error;
|
|
||||||
const code = 400;
|
|
||||||
const smsConfig = await app.models.SmsConfig.findOne();
|
|
||||||
const soapClient = await soap.createClientAsync(smsConfig.uri);
|
|
||||||
spyOn(soap, 'createClientAsync').and.returnValue(soapClient);
|
|
||||||
spyOn(soapClient, 'sendSMSAsync').and.returnValue([{
|
|
||||||
result: {
|
|
||||||
$value:
|
|
||||||
`<xtratelecom-sms-response>
|
|
||||||
<sms>
|
|
||||||
<codigo>
|
|
||||||
${code}
|
|
||||||
</codigo>
|
|
||||||
<descripcion>
|
|
||||||
Envio en procesamiento
|
|
||||||
</descripcion>
|
|
||||||
<messageId>
|
|
||||||
1
|
|
||||||
</messageId>
|
|
||||||
</sms>
|
|
||||||
<procesoId>
|
|
||||||
444328681
|
|
||||||
</procesoId>
|
|
||||||
</xtratelecom-sms-response>`
|
|
||||||
}
|
|
||||||
}]);
|
|
||||||
let ctx = {req: {accessToken: {userId: 1}}};
|
|
||||||
try {
|
|
||||||
await app.models.Sms.send(ctx, 105, 'destination', 'My SMS Body');
|
|
||||||
} catch (err) {
|
|
||||||
error = err;
|
|
||||||
}
|
|
||||||
|
|
||||||
expect(error.message).toEqual(`We weren't able to send this SMS`);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -115,7 +115,7 @@
|
||||||
</vn-td>
|
</vn-td>
|
||||||
<vn-td number>{{::sale.price | currency: 'EUR':2}}</vn-td>
|
<vn-td number>{{::sale.price | currency: 'EUR':2}}</vn-td>
|
||||||
<vn-td number>{{::sale.discount}} %</vn-td>
|
<vn-td number>{{::sale.discount}} %</vn-td>
|
||||||
<vn-td number>{{::sale.quantity * sale.price | currency: 'EUR':2}}</vn-td>
|
<vn-td number>{{::sale.quantity * sale.price * ((100 - sale.discount) / 100) | currency: 'EUR':2}}</vn-td>
|
||||||
</vn-tr>
|
</vn-tr>
|
||||||
</vn-tbody>
|
</vn-tbody>
|
||||||
</vn-table>
|
</vn-table>
|
||||||
|
@ -139,25 +139,27 @@
|
||||||
</vn-tbody>
|
</vn-tbody>
|
||||||
</vn-table>
|
</vn-table>
|
||||||
</vn-one>
|
</vn-one>
|
||||||
<vn-one ng-if="$ctrl.summary.services.length != 0">
|
<vn-one class="services" ng-if="$ctrl.summary.services.length != 0">
|
||||||
<h4 translate>Service</h4>
|
<h4 translate>Service</h4>
|
||||||
<vn-table model="model">
|
<vn-table model="model">
|
||||||
<vn-thead>
|
<vn-thead>
|
||||||
<vn-tr>
|
<vn-tr>
|
||||||
<vn-th number>Id</vn-th>
|
<vn-th shrink></vn-th>
|
||||||
<vn-th number>Quantity</vn-th>
|
<vn-th class="identifier" number shrink>Id</vn-th>
|
||||||
<vn-th>Description</vn-th>
|
<vn-th number shrink>Quantity</vn-th>
|
||||||
<vn-th number>Price</vn-th>
|
<vn-th expand>Description</vn-th>
|
||||||
<vn-th>Tax class</vn-th>
|
<vn-th number shrink>Price</vn-th>
|
||||||
|
<vn-th class="tax-class">Tax class</vn-th>
|
||||||
</vn-tr>
|
</vn-tr>
|
||||||
</vn-thead>
|
</vn-thead>
|
||||||
<vn-tbody>
|
<vn-tbody>
|
||||||
<vn-tr ng-repeat="service in $ctrl.summary.services">
|
<vn-tr ng-repeat="service in $ctrl.summary.services">
|
||||||
<vn-td number>{{::service.id}}</vn-td>
|
<vn-td></vn-td>
|
||||||
<vn-td number>{{::service.quantity}}</vn-td>
|
<vn-td class="identifier" number shrink>{{::service.id}}</vn-td>
|
||||||
|
<vn-td number shrink>{{::service.quantity}}</vn-td>
|
||||||
<vn-td expand>{{::service.description}}</vn-td>
|
<vn-td expand>{{::service.description}}</vn-td>
|
||||||
<vn-td number>{{::service.price}}</vn-td>
|
<vn-td number shrink>{{::service.price}}</vn-td>
|
||||||
<vn-td>{{::service.taxClass.description}}</vn-td>
|
<vn-td class="tax-class">{{::service.taxClass.description}}</vn-td>
|
||||||
</vn-tr>
|
</vn-tr>
|
||||||
</vn-tbody>
|
</vn-tbody>
|
||||||
</vn-table>
|
</vn-table>
|
||||||
|
|
|
@ -31,7 +31,7 @@ vn-ticket-summary .summary {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
& > div > vn-horizontal > vn-one {
|
& > vn-horizontal > vn-one {
|
||||||
min-width: 10em;
|
min-width: 10em;
|
||||||
|
|
||||||
&.taxes {
|
&.taxes {
|
||||||
|
@ -44,5 +44,23 @@ vn-ticket-summary .summary {
|
||||||
margin: .2em;
|
margin: .2em;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.services {
|
||||||
|
.vn-table > vn-thead .identifier,
|
||||||
|
.vn-table > vn-tbody .identifier {
|
||||||
|
min-width: 3.5em
|
||||||
|
}
|
||||||
|
|
||||||
|
.vn-table > vn-thead .tax-class,
|
||||||
|
.vn-table > vn-tbody .tax-class {
|
||||||
|
min-width: 11em;
|
||||||
|
width: 1px
|
||||||
|
}
|
||||||
|
|
||||||
|
.vn-table > vn-tbody vn-td:first-child {
|
||||||
|
min-width: 24px;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
const app = require('vn-loopback/server/server');
|
const app = require('vn-loopback/server/server');
|
||||||
|
|
||||||
describe('Worker absences()', () => {
|
// #1924 - Fix hours
|
||||||
|
xdescribe('Worker absences()', () => {
|
||||||
it('should get the absence calendar for a full year contract', async() => {
|
it('should get the absence calendar for a full year contract', async() => {
|
||||||
let ctx = {req: {accessToken: {userId: 106}}};
|
let ctx = {req: {accessToken: {userId: 106}}};
|
||||||
let workerFk = 106;
|
let workerFk = 106;
|
||||||
|
|
Loading…
Reference in New Issue