series_override_ctrl_specs.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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(
  10. ctx.providePhase({
  11. popoverSrv: popoverSrv,
  12. })
  13. );
  14. beforeEach(
  15. angularMocks.inject(function($rootScope, $controller) {
  16. ctx.scope = $rootScope.$new();
  17. ctx.scope.ctrl = {
  18. refresh: sinon.spy(),
  19. render: sinon.spy(),
  20. seriesList: [],
  21. };
  22. ctx.scope.render = function() {};
  23. ctx.controller = $controller('SeriesOverridesCtrl', {
  24. $scope: ctx.scope,
  25. });
  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. });