fleet/frontend/components/forms/LicenseForm/validate.tests.js
Mike Stone e565e03130 License features (#1134)
* API client to create and get an app license

* Fixes unhandled promise rejection errors in redux config

* License Page and Form

* Adds getLicense action

* Adds License key area to App Settings Form

* Use license.token instead of license.license

* Implement API client

* Adds key icon to License Form

* Adds License Success component

* Render License Success on License Page when there is a license

* Adds persistent flash actions and reducer to redux

* Adds nag message middleware

* Moves FlashMessage component to flash_message directory

* Adds Persistent Flash component

* Renders Persistent Flash component from Core Layout

* Adds Kyle's styles

* Change license validation message

* Finishing touches for app config form license area

* Handle revoked licenses

* License Page hits setup endpoint

* Display server errors on license form

* Changes 0 allowed hosts to unlimited

* Trims JWT token before sending to the server

* GET setup page after submitting license
2017-02-09 22:16:51 -05:00

31 lines
1.1 KiB
JavaScript

import expect from 'expect';
import validate from 'components/forms/LicenseForm/validate';
describe('LicenseForm - validation', () => {
it('is valid given a valid license', () => {
const jwtToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ';
const { errors, valid } = validate({ license: jwtToken });
expect(valid).toEqual(true);
expect(errors).toEqual({});
});
it('is not valid if the license is blank', () => {
const jwtToken = '';
const { errors, valid } = validate({ license: jwtToken });
expect(valid).toEqual(false);
expect(errors).toEqual({ license: 'License must be present' });
});
it('is not valid if the license is invalid', () => {
const jwtToken = 'KFBR392';
const { errors, valid } = validate({ license: jwtToken });
expect(valid).toEqual(false);
expect(errors).toEqual({
license: 'License syntax is not valid. Please ensure you have entered the entire license. Please contact [email protected] if you need assistance',
});
});
});