| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import {describe, beforeEach, it, sinon, expect, angularMocks} from 'test/lib/common';
- import helpers from 'test/specs/helpers';
- import AuditSrv from '../audit/audit_srv';
- import { versions, compare, restore } from 'test/mocks/audit-mocks';
- describe('auditSrv', function() {
- var ctx = new helpers.ServiceTestContext();
- var versionsResponse = versions();
- var compareResponse = compare();
- var restoreResponse = restore;
- beforeEach(angularMocks.module('grafana.core'));
- beforeEach(angularMocks.module('grafana.services'));
- beforeEach(angularMocks.inject(function($httpBackend) {
- ctx.$httpBackend = $httpBackend;
- $httpBackend.whenRoute('GET', 'api/dashboards/db/:id/versions').respond(versionsResponse);
- $httpBackend.whenRoute('GET', 'api/dashboards/db/:id/compare/:original...:new').respond(compareResponse);
- $httpBackend.whenRoute('POST', 'api/dashboards/db/:id/restore')
- .respond(function(method, url, data, headers, params) {
- const parsedData = JSON.parse(data);
- return [200, restoreResponse(parsedData.version)];
- });
- }));
- beforeEach(ctx.createService('auditSrv'));
- describe('getAuditLog', function() {
- it('should return a versions array for the given dashboard id', function(done) {
- ctx.service.getAuditLog({ id: 1 }).then(function(versions) {
- expect(versions).to.eql(versionsResponse);
- done();
- });
- ctx.$httpBackend.flush();
- });
- it('should return an empty array when not given an id', function(done) {
- ctx.service.getAuditLog({ }).then(function(versions) {
- expect(versions).to.eql([]);
- done();
- });
- ctx.$httpBackend.flush();
- });
- it('should return an empty array when not given a dashboard', function(done) {
- ctx.service.getAuditLog().then(function(versions) {
- expect(versions).to.eql([]);
- done();
- });
- ctx.$httpBackend.flush();
- });
- });
- describe('compareVersions', function() {
- it('should return a diff object for the given dashboard revisions', function(done) {
- var compare = { original: 6, new: 4 };
- ctx.service.compareVersions({ id: 1 }, compare).then(function(response) {
- expect(response).to.eql(compareResponse);
- done();
- });
- ctx.$httpBackend.flush();
- });
- it('should return an empty object when not given an id', function(done) {
- var compare = { original: 6, new: 4 };
- ctx.service.compareVersions({ }, compare).then(function(response) {
- expect(response).to.eql({});
- done();
- });
- ctx.$httpBackend.flush();
- });
- });
- describe('restoreDashboard', function() {
- it('should return a success response given valid parameters', function(done) {
- var version = 6;
- ctx.service.restoreDashboard({ id: 1 }, version).then(function(response) {
- expect(response).to.eql(restoreResponse(version));
- done();
- });
- ctx.$httpBackend.flush();
- });
- it('should return an empty object when not given an id', function(done) {
- ctx.service.restoreDashboard({}, 6).then(function(response) {
- expect(response).to.eql({});
- done();
- });
- ctx.$httpBackend.flush();
- });
- });
- });
|