Skip to content

Commit

Permalink
Merge pull request #45 from OpenLMIS/OLMIS-7893
Browse files Browse the repository at this point in the history
OLMIS-7893: fixed failed tests and reverted unneccessary changes
  • Loading branch information
dszafranek authored Feb 23, 2024
2 parents cb5fe27 + 1802fe2 commit f4f0115
Show file tree
Hide file tree
Showing 31 changed files with 204 additions and 324 deletions.
34 changes: 0 additions & 34 deletions src/requisition-approval/requisition-approval-list.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -103,28 +103,6 @@
*/
vm.isBatchApproveScreenActive = undefined;

/**
* @ngdoc property
* @propertyOf requisition-approval.controller:RequisitionApprovalListController
* @name selectedFacility
* @type {Object}
*
* @description
* The facility selected by the user.
*/
vm.selectedFacility = undefined;

/**
* @ngdoc property
* @propertyOf requisition-approval.controller:RequisitionApprovalListController
* @name facilities
* @type {Array}
*
* @description
* The facility selected by the user.
*/
vm.facilities = [];

vm.options = {
'requisitionApproval.newestAuthorized': ['emergency,desc', 'authorizedDate,desc'],
'requisitionApproval.oldestAuthorized': ['emergency,desc', 'authorizedDate,asc']
Expand All @@ -145,18 +123,6 @@
vm.selectedProgram = selectedProgram;
vm.offline = $stateParams.offline === 'true' || offlineService.isOffline();
vm.isBatchApproveScreenActive = isBatchApproveScreenActive;

if (requisitions !== undefined) {

angular.forEach(requisitions, function(requisition) {
var facilityObject = {};
facilityObject.id = requisition.facility.id;
facilityObject.name = requisition.facility.name;
facilityObject.code = requisition.facility.code;
vm.facilities.push(facilityObject);
});

}
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,19 @@
describe('RequisitionApprovalListController', function() {

//injects
var vm, $state, alertService, $controller, requisitionsStorage, batchRequisitionsStorage;
var vm, $state, alertService, $controller, requisitionsStorage, batchRequisitionsStorage, TBArray, LeprosyArray;

//variables
var requisitions, programs;

beforeEach(function() {
module('requisition-approval');
module('requisition-view-tab');

module(function($provide) {
requisitionsStorage = jasmine.createSpyObj('requisitionsStorage', ['search', 'put', 'getBy', 'removeBy']);
TBArray = jasmine.createSpyObj('TBArray', ['clearAll']);
LeprosyArray = jasmine.createSpyObj('LeprosyArray', ['clearAll']);
batchRequisitionsStorage = jasmine.createSpyObj('batchRequisitionsStorage', ['search', 'put', 'getBy',
'removeBy']);

Expand All @@ -38,6 +41,12 @@ describe('RequisitionApprovalListController', function() {
if (resourceName === 'batchApproveRequisitions') {
return batchRequisitionsStorage;
}
if (resourceName === 'TBArray') {
return TBArray;
}
if (resourceName === 'LeprosyArray') {
return LeprosyArray;
}
return requisitionsStorage;
});

Expand All @@ -51,8 +60,12 @@ describe('RequisitionApprovalListController', function() {
$controller = $injector.get('$controller');
$state = $injector.get('$state');
alertService = $injector.get('alertService');
alertService = $injector.get('alertService');
this.RequisitionDataBuilder = $injector.get('RequisitionDataBuilder');
});

this.requistion = new this.RequisitionDataBuilder();

programs = [{
id: '1',
code: 'PRG001',
Expand Down Expand Up @@ -183,10 +196,11 @@ describe('RequisitionApprovalListController', function() {
});

it('should go to fullSupply state', function() {
vm.openRnr(requisitions[0].id);
vm.openRnr(this.requistion);

expect($state.go).toHaveBeenCalledWith('openlmis.requisitions.requisition.fullSupply', {
rnr: requisitions[0].id
rnr: this.requistion.id,
requisition: this.requistion
});
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ describe('openlmis.requisitions.approvalList', function() {

beforeEach(function() {
module('requisition-approval');
module('requisition-view-tab');

inject(function($injector) {
this.$state = $injector.get('$state');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ describe('RequisitionBatchApprovalController', function() {

beforeEach(function() {
module('requisition-batch-approval');
module('requisition-view-tab');

var requisitionWatcherMock = jasmine.createSpy('RequisitionWatcher');
module(function($provide) {
Expand Down
36 changes: 20 additions & 16 deletions src/requisition-calculations/calculation.factory.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,15 @@ describe('calculationFactory', function() {
module('stock-reason');
module('requisition-calculations');
module('referencedata-facility-type-approved-product');
module('requisition-view-tab');

inject(function($injector) {
calculationFactory = $injector.get('calculationFactory');
TEMPLATE_COLUMNS = $injector.get('TEMPLATE_COLUMNS');
COLUMN_SOURCES = $injector.get('COLUMN_SOURCES');
RequisitionColumnDataBuilder = $injector.get('RequisitionColumnDataBuilder');
ReasonDataBuilder = $injector.get('ReasonDataBuilder');
this.RequisitionDataBuilder = $injector.get('RequisitionDataBuilder');
StockAdjustmentDataBuilder = $injector.get('StockAdjustmentDataBuilder');
this.RequisitionLineItemV2DataBuilder = $injector.get('RequisitionLineItemV2DataBuilder');
this.ProgramOrderableDataBuilder = $injector.get('ProgramOrderableDataBuilder');
Expand All @@ -41,18 +43,27 @@ describe('calculationFactory', function() {
this.OrderableDataBuilder = $injector.get('OrderableDataBuilder');
});

calculatedOrderQuantityIsaColumn = new RequisitionColumnDataBuilder().buildCalculatedOrderQuantityIsaColumn();
calculatedOrderQuantityColumn = new RequisitionColumnDataBuilder().buildCalculatedOrderQuantityColumn();
totalConsumedQuantityColumn = new RequisitionColumnDataBuilder().buildTotalConsumedQuantityColumn();
additionalQuantityRequiredColumn = new RequisitionColumnDataBuilder().buildAdditionalQuantityRequiredColumn();
maximumStockQuantityColumn = new RequisitionColumnDataBuilder().buildMaximumStockQuantityColumn();
averageConsumptionColumn = new RequisitionColumnDataBuilder().buildAverageConsumptionColumn();
requestedQuantityColumn = new RequisitionColumnDataBuilder().buildRequestedQuantityColumn();
this.requisition = new this.RequisitionDataBuilder().build();

calculatedOrderQuantityIsaColumn = new RequisitionColumnDataBuilder()
.buildCalculatedOrderQuantityIsaColumn(this.requisition);
calculatedOrderQuantityColumn = new RequisitionColumnDataBuilder()
.buildCalculatedOrderQuantityColumn(this.requisition);
totalConsumedQuantityColumn = new RequisitionColumnDataBuilder()
.buildTotalConsumedQuantityColumn(this.requisition);
additionalQuantityRequiredColumn = new RequisitionColumnDataBuilder()
.buildAdditionalQuantityRequiredColumn(this.requisition);
maximumStockQuantityColumn = new RequisitionColumnDataBuilder()
.buildMaximumStockQuantityColumn(this.requisition);
averageConsumptionColumn = new RequisitionColumnDataBuilder()
.buildAverageConsumptionColumn(this.requisition);
requestedQuantityColumn = new RequisitionColumnDataBuilder()
.buildRequestedQuantityColumn(this.requisition);
stockOnHandColumn = new RequisitionColumnDataBuilder()
.asStockOnHand()
.asUserInput()
.build();
isaColumn = new RequisitionColumnDataBuilder().buildIdealStockAmountColumn();
.build(this.requisition);
isaColumn = new RequisitionColumnDataBuilder().buildIdealStockAmountColumn(this.requisition);
this.programOrderable = new this.ProgramOrderableDataBuilder().buildJson();
lineItem = new this.RequisitionLineItemV2DataBuilder()
.withTotalLossesAndAdjustments(25)
Expand Down Expand Up @@ -167,13 +178,6 @@ describe('calculationFactory', function() {
expect(calculationFactory.packsToShip(lineItem, requisitionMock)).toBe(1);
});

it('should calculate total properly', function() {
lineItem.quantityToIssue = 10;
lineItem.orderable.netContent = 10;

expect(calculationFactory.total(lineItem)).toBe(1);
});

it('should calculate stock on hand properly', function() {
expect(calculationFactory.stockOnHand(lineItem)).toBe(40);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ describe('ConvertToOrderController', function() {

beforeEach(function() {
module('requisition-convert-to-order');
module('requisition-view-tab');

inject(function($injector) {
this.$q = $injector.get('$q');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ describe('openlmis.requisitions.convertToOrder', function() {

beforeEach(function() {
module('requisition-convert-to-order');
module('requisition-view-tab');

var ProgramDataBuilder, FacilityDataBuilder, RequisitionDataBuilder,
PageDataBuilder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ describe('RequisitionInitiateController', function() {

beforeEach(function() {
module('requisition-initiate');
module('requisition-view-tab');

var FacilityDataBuilder, ProgramDataBuilder, PeriodDataBuilder, RequisitionDataBuilder;

Expand Down Expand Up @@ -59,6 +60,8 @@ describe('RequisitionInitiateController', function() {

this.canInitiateRnr = true;

this.requistionSource = new RequisitionDataBuilder();

this.permissionService = $injector.get('permissionService');
spyOn(this.permissionService, 'hasPermission').andReturn(this.$q.resolve());

Expand All @@ -82,10 +85,11 @@ describe('RequisitionInitiateController', function() {
it('should change page to requisitions.requisition for with selected period with rnrId', function() {
spyOn(this.$state, 'go');

this.vm.goToRequisition(1);
this.vm.goToRequisition(this.requistionSource);

expect(this.$state.go).toHaveBeenCalledWith('openlmis.requisitions.requisition.fullSupply', {
rnr: 1
rnr: this.requistionSource.id,
requisition: this.requistionSource
});
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ describe('LossesAndAdjustmentsController', function() {

beforeEach(function() {
module('requisition-losses-and-adjustments');
module('requisition-view-tab');

module(function($provide) {
requisitionValidatorMock = jasmine.createSpyObj('requisitionValidator', ['validateLineItem']);
Expand Down
30 changes: 18 additions & 12 deletions src/requisition-product-grid/product-grid-cell.directive.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ describe('ProductGridCell', function() {
beforeEach(function() {
this.getCompiledElement = getCompiledElement;

module('requisition-view-tab');
module('requisition');
module('requisition-product-grid', function($compileProvider, $provide) {
$compileProvider.directive('lossesAndAdjustments', function() {
Expand Down Expand Up @@ -47,16 +48,17 @@ describe('ProductGridCell', function() {

this.scope = this.$rootScope.$new();

this.scope.requisition = new this.RequisitionDataBuilder().build();

this.fullSupplyColumns = [
new this.RequisitionColumnDataBuilder().buildBeginningBalanceColumn()
new this.RequisitionColumnDataBuilder().buildBeginningBalanceColumn(this.scope.requisition)
];

this.nonFullSupplyColumns = [
new this.RequisitionColumnDataBuilder().build(),
new this.RequisitionColumnDataBuilder().build()
new this.RequisitionColumnDataBuilder().build(this.scope.requisition),
new this.RequisitionColumnDataBuilder().build(this.scope.requisition)
];

this.scope.requisition = new this.RequisitionDataBuilder().build();
this.scope.requisition.template.patientsTabEnabled = false;
this.scope.column = this.fullSupplyColumns[0];
this.scope.lineItem = this.scope.requisition.requisitionLineItems[0];
Expand Down Expand Up @@ -95,7 +97,7 @@ describe('ProductGridCell', function() {
});

it('should produce currency cell if column is of currency type', function() {
this.scope.column = new this.RequisitionColumnDataBuilder().buildTotalCostColumn();
this.scope.column = new this.RequisitionColumnDataBuilder().buildTotalCostColumn(this.scope.requisition);
this.scope.lineItem.getFieldValue.andReturn(123);

this.directiveElem = this.getCompiledElement();
Expand All @@ -104,7 +106,8 @@ describe('ProductGridCell', function() {
});

it('should produce cell with integer input for numeric column that is not read only', function() {
this.scope.column = new this.RequisitionColumnDataBuilder().buildTotalConsumedQuantityColumn();
this.scope.column = new this.RequisitionColumnDataBuilder()
.buildTotalConsumedQuantityColumn(this.scope.requisition);
this.scope.userCanEdit = true;

this.directiveElem = this.getCompiledElement();
Expand Down Expand Up @@ -195,7 +198,8 @@ describe('ProductGridCell', function() {

it('should produce editable cell for approval columns if user can approve', function() {
this.scope.canApprove = true;
this.scope.column = new this.RequisitionColumnDataBuilder().buildApprovedQuantityColumn(this.scope.requisition);
this.scope.column = new this.RequisitionColumnDataBuilder()
.buildApprovedQuantityColumn(this.scope.requisition);

var cell = angular.element(this.getCompiledElement().children()[0]);

Expand All @@ -205,12 +209,13 @@ describe('ProductGridCell', function() {

cell = angular.element(this.getCompiledElement().children()[0]);

expect(cell.text()).not.toEqual('readOnlyFieldValue');
expect(cell.text()).toEqual('readOnlyFieldValue');
});

it('should produce editable cell if user can edit and column is editable', function() {
this.scope.userCanEdit = true;
this.scope.column = new this.RequisitionColumnDataBuilder().buildTotalConsumedQuantityColumn();
this.scope.column = new this.RequisitionColumnDataBuilder()
.buildTotalConsumedQuantityColumn(this.scope.requisition);

var cell = angular.element(this.getCompiledElement().children()[0]);

Expand All @@ -219,7 +224,8 @@ describe('ProductGridCell', function() {

it('should produce read only cell if user can not edit', function() {
this.scope.userCanEdit = false;
this.scope.column = new this.RequisitionColumnDataBuilder().buildTotalConsumedQuantityColumn();
this.scope.column = new this.RequisitionColumnDataBuilder()
.buildTotalConsumedQuantityColumn(this.scope.requisition);

var cell = angular.element(this.getCompiledElement().children()[0]);

Expand All @@ -228,7 +234,7 @@ describe('ProductGridCell', function() {

it('should produce real only cell if column is not editable', function() {
this.scope.userCanEdit = true;
this.scope.column = new this.RequisitionColumnDataBuilder().buildProductCodeColumn();
this.scope.column = new this.RequisitionColumnDataBuilder().buildProductCodeColumn(this.scope.requisition);

var cell = angular.element(this.getCompiledElement().children()[0]);

Expand All @@ -240,7 +246,7 @@ describe('ProductGridCell', function() {
var skipColumn, element;

beforeEach(function() {
skipColumn = new this.RequisitionColumnDataBuilder().buildSkipColumn();
skipColumn = new this.RequisitionColumnDataBuilder().buildSkipColumn(false, this.scope.requisition);
this.scope.column = skipColumn;
});

Expand Down
10 changes: 8 additions & 2 deletions src/requisition-search/requisition-search.controller.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ describe('RequisitionSearchController', function() {
beforeEach(function() {

module('requisition-search');
module('requisition-view-tab');
module('requisition-view');

inject(function($injector) {
this.$q = $injector.get('$q');
Expand All @@ -28,8 +30,11 @@ describe('RequisitionSearchController', function() {
this.offlineService = $injector.get('offlineService');
this.confirmService = $injector.get('confirmService');
this.REQUISITION_STATUS = $injector.get('REQUISITION_STATUS');
this.RequisitionDataBuilder = $injector.get('RequisitionDataBuilder');
});

this.requistion = new this.RequisitionDataBuilder();

this.facilities = [{
name: 'facilityOne',
id: 'facility-one'
Expand Down Expand Up @@ -306,10 +311,11 @@ describe('RequisitionSearchController', function() {
it('should go to requisitions.requisition.fullSupply state', function() {
spyOn(this.$state, 'go').andReturn();

this.vm.openRnr('requisition-id');
this.vm.openRnr(this.requistion);

expect(this.$state.go).toHaveBeenCalledWith('openlmis.requisitions.requisition.fullSupply', {
rnr: 'requisition-id'
rnr: this.requistion.id,
requisition: this.requistion
});
});

Expand Down
1 change: 1 addition & 0 deletions src/requisition-search/requisition-search.filter.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ describe('requisitionSearch filter', function() {

beforeEach(function() {
module('requisition-search');
module('requisition-view-tab');

var RequisitionDataBuilder;
inject(function($injector) {
Expand Down
Loading

0 comments on commit f4f0115

Please sign in to comment.