Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
ui-component-library / src / forms / deps / __tests__ / creditCard.test.ts
Size: Mime:
/* eslint-disable max-statements */
import { isValidCreditCard } from '../'

describe('validators.creditCard', () => {
  it('allows valid credit card number', () => {
    // Visa
    expect(isValidCreditCard('4111111111111111')).toBeTruthy()
    // Mastercard
    expect(isValidCreditCard('5500000000000004')).toBeTruthy()
    // AmEx
    expect(isValidCreditCard('340000000000009')).toBeTruthy()
    // Discover
    expect(isValidCreditCard('6011000000000004')).toBeTruthy()
    // Diners Club
    expect(isValidCreditCard('30000000000004')).toBeTruthy()
  })

  it('does not allow undefined values', () => {
    expect(isValidCreditCard(null)).toBeFalsy()
    expect(isValidCreditCard(undefined)).toBeFalsy()
  })

  it('does not not allow non strings', () => {
    expect(isValidCreditCard(6011000000000004)).toBeFalsy()
    expect(isValidCreditCard(true)).toBeFalsy()
  })

  it('does not allow `invalid` card numbers', () => {
    expect(isValidCreditCard('')).toBeFalsy()
    expect(isValidCreditCard(' ')).toBeFalsy()

    expect(isValidCreditCard('93939393939')).toBeFalsy()
    expect(isValidCreditCard('6011 0000 0000 0004')).toBeFalsy()
    expect(isValidCreditCard('6011-0000-0000-0004')).toBeFalsy()
    expect(isValidCreditCard('card number')).toBeFalsy()
  })
})