summaryrefslogtreecommitdiffstats
path: root/js/tests/services/models/feedmodelSpec.coffee
blob: 2ae72eec2195d8012c38ef0db4d638ca69b0c600 (plain)
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
61
62
63
64
65
###

ownCloud - News

@author Bernhard Posselt
@copyright 2012 Bernhard Posselt nukeawhale@gmail.com

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
License as published by the Free Software Foundation; either
version 3 of the License, or any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU AFFERO GENERAL PUBLIC LICENSE for more details.

You should have received a copy of the GNU Affero General Public
License along with this library.  If not, see <http://www.gnu.org/licenses/>.

###


describe '_FeedModel', ->


	beforeEach module 'News'

	beforeEach inject (@_FeedModel, @_Model) =>


	it 'should extend model', =>
		expect(new @_FeedModel instanceof @_Model).toBeTruthy()


	it 'should bind an imagepath to the item if the url is empty', =>
		item =
			id: 3
			faviconLink: null
			urlHash: 'hi'
		utils =
			imagePath: jasmine.createSpy('utils')

		model = new @_FeedModel(utils)
		model.add(item)

		expect(utils.imagePath).toHaveBeenCalledWith('news', 'rss.svg')


	it 'should also update items when url is the same', =>
		utils =
			imagePath: jasmine.createSpy('utils')
		model = new @_FeedModel(utils)

		model.add({id: 2, faviconLink: null, urlHash: 'hi'})
		expect(model.size()).toBe(1)

		model.add({id: 2, faviconLink: null, urlHash: 'hi4'})
		expect(model.size()).toBe(1)
		expect(model.getById(2).urlHash).toBe('hi4')

		model.add({id: 3, faviconLink: 'hey', urlHash: 'hi4'})
		expect(model.size()).toBe(1)
		expect(model.getById(2)).toBe(undefined)
		expect(model.getById(3).faviconLink).toBe('hey')