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  }