/* MMigreringsbeslut: denna test behöver Chrome headless eller PhantomJs + es6-shim för att kunna köras */ describe('StandardTextAdminSideDrawerCtrl', function () { beforeEach(angular.mock.module('fasit', 'fbMocks')); beforeEach(function () { inject(function ($rootScope, $q) { var deferred = $q.defer(); $rootScope.InloggadAnvaendare = { promise: deferred.promise, LandId: fb.FasITDomain.Land.SVERIGE, BostadsmarknadId: fb.FasITDomain.Bostadsmarknad.SVERIGE }; deferred.resolve(); }); }); it('borde kunna initialiseras', inject(function ($controller, $injector, $rootScope) { var standardTextService: fb.IMockStandardTextService = $injector.get('standardTextService'); spyOn(standardTextService, 'query').and.callThrough(); var $scope: fb.IStandardTextAdminSideDrawerScope = $rootScope.$new(); $controller('StandardTextAdminSideDrawerCtrl', { $scope: $scope, standardTextService: standardTextService }); $scope.$digest(); expect(standardTextService.query).toHaveBeenCalled(); })); it('setFilteredList borde filtrera listan av standardtexter', inject(function ($controller, $injector, $rootScope, queryStandardText) { var standardTextService: fb.IMockStandardTextService = $injector.get('standardTextService'); spyOn(standardTextService, 'query').and.returnValue(new fb.List(queryStandardText, fb.DokumentStandardTextLO)); var $scope: fb.IStandardTextAdminSideDrawerScope = $rootScope.$new(); $controller('StandardTextAdminSideDrawerCtrl', { $scope: $scope, standardTextService: standardTextService }); $scope.$digest(); $scope.filterId.value = 12; $scope.$digest(); expect($scope.filteredStandardTexter.length).toBe(13); $scope.filterId.value = 13; $scope.$digest(); expect($scope.filteredStandardTexter.length).toBe(14); $scope.filterId.value = 14; $scope.$digest(); expect($scope.filteredStandardTexter.length).toBe(1); })); it('skapaNyStandardText borde öppna ny sidedrawer', inject(function ($controller, $injector, $rootScope) { var standardTextService: fb.IMockStandardTextService = $injector.get('standardTextService'); var sideDrawerService: fb.IMockSideDrawerService = $injector.get('sideDrawerService'); spyOn(sideDrawerService, 'stack'); spyOn(sideDrawerService, 'getParams').and.returnValue({}); var $scope: fb.IStandardTextAdminSideDrawerScope = $rootScope.$new(); $controller('StandardTextAdminSideDrawerCtrl', { $scope: $scope, standardTextService: standardTextService, sideDrawerService: sideDrawerService }); $scope.$digest(); expect(sideDrawerService.stack).not.toHaveBeenCalled(); $scope.skapaNyStandardText(); $scope.$digest(); expect(sideDrawerService.stack).toHaveBeenCalled(); })); it('closeStandardTextAdmin borde stänga sidedrawer', inject(function ($controller, $injector, $rootScope) { var sideDrawerService: fb.IMockSideDrawerService = $injector.get('sideDrawerService'); spyOn(sideDrawerService, 'clearDrawer'); var $scope: fb.IStandardTextAdminSideDrawerScope = $rootScope.$new(); $controller('StandardTextAdminSideDrawerCtrl', { $scope: $scope, sideDrawerService: sideDrawerService }); $scope.$digest(); expect(sideDrawerService.clearDrawer).not.toHaveBeenCalled(); $scope.closeStandardTextAdmin(); $scope.$digest(); expect(sideDrawerService.clearDrawer).toHaveBeenCalled(); })); it('borde kunna sätta värde på medskickat dokumentVaerde', inject(function ($controller, $injector, $rootScope) { var sideDrawerService: fb.IMockSideDrawerService = $injector.get('sideDrawerService'); var dv = new fb.DokumentVaerde({ Vaerde: 'startVaerde' }); spyOn(sideDrawerService, 'getParams').and.returnValue({ DokumentVaerde: dv }); var $scope: fb.IStandardTextAdminSideDrawerScope = $rootScope.$new(); $controller('StandardTextAdminSideDrawerCtrl', { $scope: $scope, sideDrawerService: sideDrawerService }); $scope.$digest(); $scope.standardTextPassthrough.anvaendIDokument({ Text: 'Sluttext' }); $scope.$digest(); expect(dv.Vaerde).toBe('startVaerdeSluttext'); })); it('borde kunna öppna ny sidedrawer', inject(function ($controller, $injector, $rootScope) { var sideDrawerService: fb.IMockSideDrawerService = $injector.get('sideDrawerService'); spyOn(sideDrawerService, 'stack'); spyOn(sideDrawerService, 'getParams').and.returnValue({}); var $scope: fb.IStandardTextAdminSideDrawerScope = $rootScope.$new(); $controller('StandardTextAdminSideDrawerCtrl', { $scope: $scope, sideDrawerService: sideDrawerService }); $scope.$digest(); expect(sideDrawerService.stack).not.toHaveBeenCalled(); $scope.standardTextPassthrough.openStandardTextSideDrawer(new fb.DokumentStandardTextLO({ StandardTextId: 5 })); $scope.$digest(); expect(sideDrawerService.stack).toHaveBeenCalled(); })); });