-
Notifications
You must be signed in to change notification settings - Fork 3
/
CardAPI.spec.js
60 lines (58 loc) · 2.11 KB
/
CardAPI.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
'use strict'
const Config = require('./Config')
const TestHelper = require('./TestHelper')
const CardAPI = require('./CardAPI')
describe('CardAPI', () => {
const T = {}
beforeAll(() => {
T.sut = TestHelper.CardApi
T.config = Config()
})
test('CardAPI.getCardInfo() ignoreCase=true', () => {
const config = Config({ ignoreCase: true })
const lowerPromise = T.sut.getCardInfo('dark confidant', config)
const upperPromise = T.sut.getCardInfo('DARK CONFIDANT', config)
return lowerPromise.then(lower =>
upperPromise.then(upper => {
expect(lower.name).toEqual('Dark Confidant')
expect(lower).toEqual(upper)
})
)
})
test('CardAPI.getCardInfo() ignoreCase=false', () => {
const config = Config({ ignoreCase: false })
const lowerPromise = T.sut.getCardInfo('dark confidant', config)
const normalPromise = T.sut.getCardInfo('Dark Confidant', config)
return lowerPromise.then(lower =>
normalPromise.then(normal => {
expect(lower).toEqual(null)
expect(normal.name).toEqual('Dark Confidant')
})
)
})
test('getCardInfo() has info', () => {
const promise = T.sut.getCardInfo('lightning strike', T.config)
return promise.then(card => {
expect(card.name).toEqual('Lightning Strike')
expect(card.mid).toEqual(435303)
expect(card.cmc).toEqual(2)
expect(card.types).toEqual(["Instant"])
expect(card.imgUrl).toEqual("https://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=435303&type=card")
})
})
test('getCardInfo() reads Config().imgSource', () => {
const config = Config({ imgSource: 'scryfall' })
const promise = T.sut.getCardInfo('lightning strike', config)
return promise.then(card => {
expect(card.imgUrl).toEqual("https://api.scryfall.com/cards/xln/149/en?format=image")
})
})
test('newTextParser() has maxLength set correctly', () => {
return T.sut.newTextParser({ excludeUnsets: true }).then(tp => {
expect(tp.maxLength).toEqual(33)
T.sut.newTextParser({ excludeUnsets: false }).then(tp => {
expect(tp.maxLength).toEqual(141)
})
})
})
})