saveLicenseAgreement(dispatch, {licenseModelId, previousLicenseAgreement, licenseAgreement, version}) {
if (previousLicenseAgreement) {
return putLicenseAgreement(licenseModelId, previousLicenseAgreement, licenseAgreement, version).then(() => {
- dispatch({
- type: licenseAgreementActionTypes.EDIT_LICENSE_AGREEMENT,
- licenseAgreement
- });
+ this.fetchLicenseAgreementList(dispatch, {licenseModelId, version});
});
}
else {
- return postLicenseAgreement(licenseModelId, licenseAgreement, version).then(response => {
- dispatch({
- type: licenseAgreementActionTypes.ADD_LICENSE_AGREEMENT,
- licenseAgreement: {
- ...licenseAgreement,
- id: response.value
- }
- });
+ return postLicenseAgreement(licenseModelId, licenseAgreement, version).then(() => {
+ this.fetchLicenseAgreementList(dispatch, {licenseModelId, version});
+ FeatureGroupsActionHelper.fetchFeatureGroupsList(dispatch, {licenseModelId, version});
});
}
},
switch (action.type) {
case licenseAgreementActionTypes.LICENSE_AGREEMENT_LIST_LOADED:
return [...action.response.results];
- case licenseAgreementActionTypes.ADD_LICENSE_AGREEMENT:
- return [...state, action.licenseAgreement];
- case licenseAgreementActionTypes.EDIT_LICENSE_AGREEMENT:
- const indexForEdit = state.findIndex(licenseAgreement => licenseAgreement.id === action.licenseAgreement.id);
- return [...state.slice(0, indexForEdit), action.licenseAgreement, ...state.slice(indexForEdit + 1)];
case licenseAgreementActionTypes.DELETE_LICENSE_AGREEMENT:
return state.filter(licenseAgreement => licenseAgreement.id !== action.licenseAgreementId);
default:
id: licenseAgreementIdFromResponse
});
deepFreeze(licenseAgreementAfterAdd);
+ const licenseAgreementList = [licenseAgreementAfterAdd];
+ const featureGroupsList = licenseAgreementList.featureGroupsIds;
const expectedStore = cloneAndSet(store.getState(), 'licenseModel.licenseAgreement.licenseAgreementList', [licenseAgreementAfterAdd]);
mockRest.addHandler('post', ({options, data, baseUrl}) => {
value: licenseAgreementIdFromResponse
};
});
-
+ mockRest.addHandler('fetch', ({options, data, baseUrl}) => {
+ expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-license-models/${LICENSE_MODEL_ID}/versions/${version.id}/license-agreements`);
+ expect(data).toEqual(undefined);
+ expect(options).toEqual(undefined);
+ return {results: licenseAgreementList};
+ });
+ mockRest.addHandler('fetch', ({options, data, baseUrl}) => {
+ expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-license-models/${LICENSE_MODEL_ID}/versions/${version.id}/feature-groups`);
+ expect(data).toEqual(undefined);
+ expect(options).toEqual(undefined);
+ return {results: featureGroupsList};
+ });
return LicenseAgreementActionHelper.saveLicenseAgreement(store.dispatch, {
licenseAgreement: licenseAgreementToAdd,
licenseModelId: LICENSE_MODEL_ID,
expect(data).toEqual(LicenseAgreementPutFactoryRequest);
expect(options).toEqual(undefined);
});
-
+ mockRest.addHandler('fetch', ({options, data, baseUrl}) => {
+ expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-license-models/${LICENSE_MODEL_ID}/versions/${version.id}/license-agreements`);
+ expect(data).toEqual(undefined);
+ expect(options).toEqual(undefined);
+ return {results: [licenseAgreementUpdateData]};
+ });
+ mockRest.addHandler('fetch', ({options, data, baseUrl}) => {
+ expect(baseUrl).toEqual(`/onboarding-api/v1.0/vendor-license-models/${LICENSE_MODEL_ID}/versions/${version.id}/feature-groups`);
+ expect(data).toEqual(undefined);
+ expect(options).toEqual(undefined);
+ return {results: newFeatureGroupsIds};
+ });
return LicenseAgreementActionHelper.saveLicenseAgreement(store.dispatch, {
licenseModelId: LICENSE_MODEL_ID,
version,