Merge pull request '3047-order_basicdata_valid_agencies' (#720) from 3047-order_basicdata_valid_agencies into dev
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
Reviewed-on: #720 Reviewed-by: Joan Sanchez <joan@verdnatura.es>
This commit is contained in:
commit
559d27e835
|
@ -76,7 +76,7 @@ describe('Order edit basic data path', () => {
|
|||
it('should be able to modify all the properties', async() => {
|
||||
await page.autocompleteSearch(selectors.orderBasicData.client, 'Tony Stark');
|
||||
await page.autocompleteSearch(selectors.orderBasicData.address, 'Tony Stark');
|
||||
await page.autocompleteSearch(selectors.orderBasicData.agency, 'Silla247');
|
||||
await page.autocompleteSearch(selectors.orderBasicData.agency, 'Other agency');
|
||||
await page.write(selectors.orderBasicData.observation, 'my observation');
|
||||
await page.waitToClick(selectors.orderBasicData.saveButton);
|
||||
const message = await page.waitForSnackbar();
|
||||
|
@ -96,7 +96,7 @@ describe('Order edit basic data path', () => {
|
|||
const result = await page
|
||||
.waitToGetProperty(selectors.orderBasicData.agency, 'value');
|
||||
|
||||
expect(result).toEqual('7: Silla247');
|
||||
expect(result).toEqual('Other agency');
|
||||
});
|
||||
|
||||
it('should now confirm the observations have been edited', async() => {
|
||||
|
|
|
@ -35,7 +35,8 @@
|
|||
search-function="$search"
|
||||
show-field="nickname"
|
||||
value-field="id"
|
||||
ng-model="$ctrl.order.addressFk">
|
||||
ng-model="$ctrl.order.addressFk"
|
||||
on-change="$ctrl.getAvailableAgencies()">
|
||||
<tpl-item>{{::nickname}}</tpl-item>
|
||||
</vn-autocomplete>
|
||||
</vn-horizontal>
|
||||
|
@ -43,17 +44,16 @@
|
|||
<vn-date-picker
|
||||
vn-one
|
||||
label="Landed"
|
||||
ng-model="$ctrl.order.landed">
|
||||
ng-model="$ctrl.order.landed"
|
||||
on-change="$ctrl.getAvailableAgencies()">
|
||||
</vn-date-picker>
|
||||
<vn-autocomplete
|
||||
vn-one
|
||||
url="AgencyModes"
|
||||
disabled="!$ctrl.order.addressFk || !$ctrl.order.landed"
|
||||
data="$ctrl._availableAgencies"
|
||||
label="Agency"
|
||||
search-function="{or: [{id: $search}, {name: {like: '%'+$search+'%'}}]}"
|
||||
show-field="name"
|
||||
value-field="id"
|
||||
show-field="agencyMode"
|
||||
value-field="agencyModeFk"
|
||||
ng-model="$ctrl.order.agencyModeFk">
|
||||
<tpl-item>{{::id}}: {{::name}}</tpl-item>
|
||||
</vn-autocomplete>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal>
|
||||
|
|
|
@ -20,6 +20,32 @@ class Controller extends Section {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
set order(value = {}) {
|
||||
this._order = value;
|
||||
|
||||
const agencyModeFk = value.agencyModeFk;
|
||||
this.getAvailableAgencies();
|
||||
this._order.agencyModeFk = agencyModeFk;
|
||||
}
|
||||
|
||||
get order() {
|
||||
return this._order;
|
||||
}
|
||||
|
||||
getAvailableAgencies() {
|
||||
const order = this.order;
|
||||
order.agencyModeFk = null;
|
||||
|
||||
const params = {
|
||||
addressFk: order.addressFk,
|
||||
landed: order.landed
|
||||
};
|
||||
if (params.landed && params.addressFk) {
|
||||
this.$http.get(`Agencies/landsThatDay`, {params})
|
||||
.then(res => this._availableAgencies = res.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ngModule.vnComponent('vnOrderBasicData', {
|
||||
|
|
|
@ -3,13 +3,15 @@ import './index.js';
|
|||
describe('Order', () => {
|
||||
describe('Component vnOrderBasicData', () => {
|
||||
let $httpBackend;
|
||||
let $httpParamSerializer;
|
||||
let controller;
|
||||
let $scope;
|
||||
|
||||
beforeEach(ngModule('order'));
|
||||
|
||||
beforeEach(inject(($compile, _$httpBackend_, $rootScope) => {
|
||||
beforeEach(inject(($compile, _$httpBackend_, $rootScope, _$httpParamSerializer_) => {
|
||||
$httpBackend = _$httpBackend_;
|
||||
$httpParamSerializer = _$httpParamSerializer_;
|
||||
$scope = $rootScope.$new();
|
||||
|
||||
$httpBackend.whenRoute('GET', 'Addresses')
|
||||
|
@ -30,10 +32,35 @@ describe('Order', () => {
|
|||
|
||||
describe('constructor()', () => {
|
||||
it('should update the address after the client changes', async() => {
|
||||
controller.selection = {id: 2, defaultAddressFk: 2};
|
||||
const addressId = 999;
|
||||
const id = 444;
|
||||
|
||||
controller.selection = {id: id, defaultAddressFk: addressId};
|
||||
$scope.$digest();
|
||||
|
||||
expect(controller.order.addressFk).toEqual(2);
|
||||
expect(controller.order.addressFk).toEqual(addressId);
|
||||
});
|
||||
});
|
||||
|
||||
describe('getAvailableAgencies()', () => {
|
||||
it('should set agencyModeFk to null and get the available agencies if the order has landed and client', async() => {
|
||||
controller.order.agencyModeFk = 999;
|
||||
controller.order.addressFk = 999;
|
||||
controller.order.landed = new Date();
|
||||
|
||||
const expectedAgencies = [{id: 1}, {id: 2}];
|
||||
|
||||
const paramsObj = {
|
||||
addressFk: controller.order.addressFk,
|
||||
landed: controller.order.landed
|
||||
};
|
||||
const serializedParams = $httpParamSerializer(paramsObj);
|
||||
$httpBackend.expect('GET', `Agencies/landsThatDay?${serializedParams}`).respond(expectedAgencies);
|
||||
controller.getAvailableAgencies();
|
||||
$httpBackend.flush();
|
||||
|
||||
expect(controller.order.agencyModeFk).toBeDefined();
|
||||
expect(controller._availableAgencies).toEqual(expectedAgencies);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -37,7 +37,7 @@ class Controller extends Component {
|
|||
};
|
||||
filter = encodeURIComponent(JSON.stringify(filter));
|
||||
let query = `Clients?filter=${filter}`;
|
||||
this.$http.get(query).then(res=> {
|
||||
this.$http.get(query).then(res => {
|
||||
if (res.data) {
|
||||
let client = res.data[0];
|
||||
let defaultAddress = client.defaultAddress;
|
||||
|
|
Loading…
Reference in New Issue