seriesOverridesCtrl-specs.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. define([
  2. './helpers',
  3. 'app/plugins/panel/graph/seriesOverridesCtrl'
  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. render: sinon.spy(),
  20. seriesList: []
  21. };
  22. ctx.scope.render = function() {};
  23. ctx.controller = $controller('SeriesOverridesCtrl', {
  24. $scope: ctx.scope
  25. });
  26. }));
  27. describe('When setting an override', function() {
  28. beforeEach(function() {
  29. ctx.scope.setOverride({propertyName: 'lines'}, {value: true});
  30. });
  31. it('should set override property', function() {
  32. expect(ctx.scope.override.lines).to.be(true);
  33. });
  34. it('should update view model', function() {
  35. expect(ctx.scope.currentOverrides[0].name).to.be('Lines');
  36. expect(ctx.scope.currentOverrides[0].value).to.be('true');
  37. });
  38. });
  39. describe('When removing overide', function() {
  40. it('click should include option and value index', function() {
  41. ctx.scope.setOverride(1,0);
  42. ctx.scope.removeOverride({ propertyName: 'lines' });
  43. expect(ctx.scope.currentOverrides.length).to.be(0);
  44. });
  45. });
  46. });
  47. });