series_override_ctrl_specs.ts 1.5 KB

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