overwatch-api-server
Version:
An Unoffical Overwatch HTTP API
63 lines (54 loc) • 1.74 kB
JavaScript
import test from 'ava';
import utils from '../server/utils';
const data = {
"username": "Calvin",
"level": 733,
"portrait": "https://d1u1mce87gyfbn.cloudfront.net/game/unlocks/0x0250000000000EF7.png",
"games": {
"quickplay": {
"won": 647
},
"competitive": {
"won": 286,
"lost": 186,
"draw": 7,
"played": 480
}
},
"playtime": {
"quickplay": "129 hours",
"competitive": "99 hours"
},
"competitive": {
"rank": 4582,
"rank_img": "https://d1u1mce87gyfbn.cloudfront.net/game/rank-icons/season-2/rank-7.png"
},
"levelFrame": "https://d1u1mce87gyfbn.cloudfront.net/game/playerlevelrewards/0x0250000000000969_Border.",
"star": "https://d1u1mce87gyfbn.cloudfront.net/game/playerlevelrewards/0x0250000000000969_Rank."
};
test('filter by username', t => {
const filter = ["username"];
const stats = utils.filterIncludes(filter, data);
t.deepEqual(stats, { username: "Calvin" });
});
test('filter by level', t => {
const filter = ["level"];
const stats = utils.filterIncludes(filter, data);
t.deepEqual(stats, { level: 733 });
});
test('filter by games.competitive', t => {
const filter = ["games", "competitive"];
const stats = utils.filterIncludes(filter, data);
t.deepEqual(stats, {
games: {
competitive: {
won: 286, lost: 186, draw: 7, played: 480
}
}
});
});
test('filter by invalid key', t => {
const filter = ["asdf"];
const stats = utils.filterIncludes(filter, data);
t.deepEqual(stats, data);
});