1 package org.unitedfront2.domain.communication;
2
3 import java.util.HashMap;
4 import java.util.Locale;
5 import java.util.Map;
6
7 import org.junit.Assert;
8 import org.junit.Test;
9 import org.springframework.beans.factory.annotation.Autowired;
10 import org.unitedfront2.dao.SimpleFindable;
11 import org.unitedfront2.domain.SimpleTableModule;
12 import org.unitedfront2.domain.accesscontrol.AccessControl;
13 import org.unitedfront2.domain.accesscontrol.OwnerOnly;
14 import org.unitedfront2.domain.accesscontrol.Public;
15 import org.unitedfront2.test.TableModuleTestCaseSupport;
16
17 public class BlogTableTest extends TableModuleTestCaseSupport<Blog> {
18
19 @Autowired private BlogTable blogTable;
20
21 @Override
22 protected Blog createDomain() {
23 AccessControl readAccessControl = domainFactory.prototype(Public.class);
24 AccessControl writeAccessControl = domainFactory.prototype(OwnerOnly.class);
25 return domainFactory.prototype(new Blog("testblog",
26 createOverview(readAccessControl, writeAccessControl),
27 simpleUser1.getId(), readAccessControl, writeAccessControl,
28 domainFactory.prototype(OwnerOnly.class)));
29 }
30
31 private Message createOverview(AccessControl readAccessControl,
32 AccessControl writeAccessControl) {
33 MessageEntry entry = new MessageEntry();
34 entry.setSubject("テストブログ");
35 entry.setBody("これはテストブログです。");
36 Map<Locale, MessageEntry> entryMap = new HashMap<Locale, MessageEntry>();
37 entryMap.put(Locale.JAPANESE, entry);
38 Message overview = domainFactory.prototype(new Message(null, entryMap,
39 simpleUser1.getId(), simpleUser1.getId(),
40 readAccessControl, writeAccessControl));
41 return overview;
42 }
43
44 @Override
45 protected SimpleTableModule<Blog> getTableModule() {
46 return blogTable;
47 }
48
49 @Override
50 protected SimpleFindable<Blog> getSimpleDao() {
51 return blogTable.getSimpleDao();
52 }
53
54 @Test
55 public void testPrototypeArgs() {
56 Blog blog = createDomain();
57 Assert.assertNotNull(blog);
58 }
59 }