fake_credit_card
Version:
Fake Credit Card Number Generator - http://creditcardvalidator.org
70 lines (62 loc) • 2.33 kB
JavaScript
/* 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));
});
});
});
});