display-blocks.filter.spec.ts
4.28 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import {quickCreateComponent} from "../../../spec/helpers";
import {DisplayBlocks} from './display-blocks.filter';
describe("Filters", () => {
describe("Display Blocks Filter", () => {
let translatorService = jasmine.createSpyObj("translatorService", ["currentLanguage"]);
it("not fail when blocks is null", done => {
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(null, true, <noosfero.User>{})).toEqual([]);
done();
});
it("return blocks when no setting is passed", done => {
let blocks = [{}];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, <noosfero.User>{})).toEqual(blocks);
done();
});
it("return blocks when no display is passed", done => {
let blocks = [{ setting: {} }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, <noosfero.User>{})).toEqual(blocks);
done();
});
it("filter invisible blocks", done => {
let blocks = [{ settings: { display: "never" } }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, <noosfero.User>{})).toEqual([]);
done();
});
it("filter blocks with except_home_page in homepage", done => {
let blocks = [{ settings: { display: "except_home_page" } }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, <noosfero.User>{})).toEqual([]);
done();
});
it("filter blocks with home_page_only outside homepage", done => {
let blocks = [{ settings: { display: "home_page_only" } }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, false, <noosfero.User>{})).toEqual([]);
done();
});
it("show all blocks when display_user is all for logged user", done => {
let blocks = [{ settings: { display_user: "all" } }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, <noosfero.User>{})).toEqual(blocks);
done();
});
it("show all blocks when display_user is all for not logged user", done => {
let blocks = [{ settings: { display_user: "all" } }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, null)).toEqual(blocks);
done();
});
it("filter blocks when display_user is logged for not logged user", done => {
let blocks = [{ settings: { display_user: "logged" } }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, null)).toEqual([]);
done();
});
it("filter blocks when display_user is not_logged for logged user", done => {
let blocks = [{ settings: { display_user: "not_logged" } }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, <noosfero.User>{})).toEqual([]);
done();
});
it("filter blocks with different language", done => {
let blocks = [{ settings: { language: "en" } }];
translatorService.currentLanguage = jasmine.createSpy("currentLanguage").and.returnValue("pt");
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, <noosfero.User>{})).toEqual([]);
done();
});
it("filter blocks when hide is true", done => {
let blocks = [{ hide: true }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, null)).toEqual([]);
done();
});
it("not filter blocks when hide is not true", done => {
let blocks = [{ id: 1, hide: false }, { id: 2 }];
let filter = new DisplayBlocks(translatorService);
expect(filter.transform(<any>blocks, true, null)).toEqual(blocks);
done();
});
});
});