seriesOverridesCtrl-specs.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. define([
  2. './helpers',
  3. 'app/plugins/panel/graph/series_overrides_ctrl'
  4. ], function(helpers) {
  5. 'use strict';
  6. describe('SeriesOverridesCtrl', function() {
  7. var ctx = new helpers.ControllerTestContext();
  8. var popoverSrv = {};
  9. beforeEach(module('grafana.services'));
  10. beforeEach(module('grafana.controllers'));
  11. beforeEach(ctx.providePhase({
  12. popoverSrv: popoverSrv
  13. }));
  14. beforeEach(inject(function($rootScope, $controller) {
  15. // ctx.createControllerPhase('SeriesOverridesCtrl'));
  16. // beforeEach(function() {
  17. ctx.scope = $rootScope.$new();
  18. ctx.scope.ctrl = {
  19. refresh: sinon.spy(),
  20. render: sinon.spy(),
  21. seriesList: []
  22. };
  23. ctx.scope.render = function() {};
  24. ctx.controller = $controller('SeriesOverridesCtrl', {
  25. $scope: ctx.scope
  26. });
  27. }));
  28. describe('When setting an override', function() {
  29. beforeEach(function() {
  30. ctx.scope.setOverride({propertyName: 'lines'}, {value: true});
  31. });
  32. it('should set override property', function() {
  33. expect(ctx.scope.override.lines).to.be(true);
  34. });
  35. it('should update view model', function() {
  36. expect(ctx.scope.currentOverrides[0].name).to.be('Lines');
  37. expect(ctx.scope.currentOverrides[0].value).to.be('true');
  38. });
  39. });
  40. describe('When removing overide', function() {
  41. it('click should include option and value index', function() {
  42. ctx.scope.setOverride(1,0);
  43. ctx.scope.removeOverride({ propertyName: 'lines' });
  44. expect(ctx.scope.currentOverrides.length).to.be(0);
  45. });
  46. });
  47. });
  48. });