UNPKG

fake_credit_card

Version:

Fake Credit Card Number Generator - http://creditcardvalidator.org

70 lines (62 loc) 2.33 kB
/* jshint esversion: 8 */ const fakecc = require("../index"); const checkcc = require("check-credit-card"); const assert = require("assert"); describe("test fake_credit_card", () => { it("one visa card number", () => { let card = fakecc.flag(fakecc.flags.VISA).cardNumber; assert.equal(1, card.length); card.forEach(c => { let check = checkcc.check(c.number); assert.equal(true, check.valid); assert.equal("VISA", check.flag); }); }); it("one master card number", () => { let card = fakecc.flag(fakecc.flags.MASTER).cardNumber; assert.equal(1, card.length); card.forEach(c => { let check = checkcc.check(c.number); assert.equal(true, check.valid); assert.equal("MASTER", check.flag); }); }); it("one amex card number", () => { let card = fakecc.flag(fakecc.flags.AMEX).cardNumber; assert.equal(1, card.length); card.forEach(c => { let check = checkcc.check(c.number); assert.equal(true, check.valid); assert.equal("AMEX", check.flag); }); }); it("a invalid flag card number", () => { try { let card = fakecc.flag("zzz").cardNumber; } catch (e) { assert.equal("flag not found", e.exception); } }); it("card with expiration date", () => { let card = fakecc.flag("master").withExpiration; assert.equal("string", typeof card[0].expiration); }); it("card with cvv", () => { let card = fakecc.flag("master").withCvv; assert.equal("number", typeof card[0].cvv); }); Object.keys(fakecc.flags).sort().forEach(key => { key = key.toUpperCase(); if(key === "HIPERCARD_LG") return; it(`many cards - "${key}"`, () => { let i = 1000; let card = fakecc.howMany(i).flag(key).cardNumber; assert.equal(i, card.length); card.forEach(c => { let check = checkcc.check(c.number); assert.equal(true, check.valid, `:: ${c.number} ` + JSON.stringify(check)); assert.equal(key, check.flag, `:: ${c.number} ` + JSON.stringify(check)); }); }); }); });