series_override_ctrl_specs.ts 1.6 KB

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