all files / src/app/components/common/ Error.spec.js

100% Statements 30/30
100% Branches 0/0
100% Functions 5/5
100% Lines 30/30
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45                             
import angular from 'angular';
import 'angular-mocks';
import {Error} from './Error';
 
describe('Error component', () => {
  beforeEach(() => {
    angular
      .module('error', ['app/components/common/Error.html'])
      .component('error', Error);
    angular.mock.module('error');
  });
 
  it('should render a message', angular.mock.inject(($rootScope, $compile) => {
    const $scope = $rootScope.$new();
    $scope.message = 'Test error msg.';
    const element = $compile('<error message="message"></error>')($scope);
    $scope.$digest();
    const error = element.find('p');
    expect(error.html().trim()).toEqual('Test error msg.');
  }));
 
  it('should render a color on form prop', angular.mock.inject(($rootScope, $compile) => {
    const $scope = $rootScope.$new();
    $scope.message = 'Test error msg.';
    $scope.form = true;
    const element = $compile('<error message="message" form="form"></error>')($scope);
    $scope.$digest();
    const error = element.find('p');
    const errorParent = element.find('div');
    expect(error.html().trim()).toEqual('Test error msg.');
    expect(errorParent.hasClass('red')).toEqual(true);
  }));
 
  it('should render a muted class by default', angular.mock.inject(($rootScope, $compile) => {
    const $scope = $rootScope.$new();
    $scope.message = 'Test error msg.';
    const element = $compile('<error message="message"></error>')($scope);
    $scope.$digest();
    const error = element.find('p');
    const errorParent = element.find('div');
    expect(error.html().trim()).toEqual('Test error msg.');
    expect(errorParent.hasClass('muted')).toEqual(true);
  }));
});