source: trunk/test/unit/dbnp/studycapturing/TemplateEntityTests.groovy @ 536

Last change on this file since 536 was 536, checked in by roberth, 12 years ago

Samples are now shown in the study overview page. Also some tests are added and the bootstrap is updated to show some sample fields with a template

File size: 3.2 KB
Line 
1package dbnp.studycapturing
2
3import grails.test.*
4
5class TemplateEntityTests extends GrailsUnitTestCase {
6   
7    def testStudy;
8    def eventTemplate1;
9    def eventTemplate2;
10    def sampleTemplate1;
11    protected void setUp() {
12        // We create a study with 2 events (with 2 different templates),
13        // 2 samples with the same template + 1 sample without a template and
14        // 2 subjects without a template
15        // There are no sampling events
16        super.setUp()
17
18        // Create the template itself
19        eventTemplate1 = new Template(
20                name: 'Event Template 1',
21                entity: dbnp.studycapturing.Event,
22                fields: [
23                    new TemplateField(
24                        name: 'testStartDate',
25                        type: TemplateFieldType.DATE
26                    )
27                ]
28            );
29
30        // Create the template itself
31        eventTemplate2 = new Template(
32                name: 'Event Template 2',
33                entity: dbnp.studycapturing.Event,
34                fields: [
35                    new TemplateField(
36                        name: 'testStartDate',
37                        type: TemplateFieldType.RELTIME
38                    )
39                ]
40            );
41
42        // Create the template itself
43        sampleTemplate1 = new Template(
44                name: 'Sample Template 1',
45                entity: dbnp.studycapturing.Event,
46                fields: [
47                    new TemplateField(
48                        name: 'testStartDate',
49                        type: TemplateFieldType.RELTIME
50                    )
51                ]
52            );
53
54        testStudy = new Study(
55            title: 'Test study',
56            events: [
57                new Event(
58                    template: eventTemplate1,
59                    startTime: 3600,
60                    endTime: 7200
61                ),
62                new Event(
63                    template: eventTemplate2,
64                    startTime: 3600,
65                    endTime: 7200
66                )
67            ],
68            samples: [
69                new Sample(
70                    template: sampleTemplate1
71                ),
72                new Sample(
73                    template: sampleTemplate1
74                ),
75                new Sample(
76                   
77                )
78            ],
79            subjects: [
80                new Subject(
81                    name: 'Wihout template 1'
82                ),
83                new Subject(
84                    name: 'Wihout template 2'
85                )
86            ]
87
88        )
89
90    }
91
92    protected void tearDown() {
93        super.tearDown()
94    }
95
96    void testGiveTemplates() {
97        def eventTemplates = TemplateEntity.giveTemplates( testStudy.events );
98        assert eventTemplates.size() == 2
99        assert eventTemplates.contains( eventTemplate1 );
100        assert eventTemplates.contains( eventTemplate2 );
101
102        def sampleTemplates = TemplateEntity.giveTemplates( testStudy.samples );
103        assert sampleTemplates.size() == 1
104        assert sampleTemplates.contains( sampleTemplate1 )
105
106        def subjectTemplates = TemplateEntity.giveTemplates( testStudy.subjects );
107        assert subjectTemplates.size() == 0
108    }
109
110
111}
Note: See TracBrowser for help on using the repository browser.