1   package com.atlassian.plugins.codegen.modules.jira;
2   
3   import com.atlassian.plugins.codegen.AbstractModuleCreatorTestCase;
4   import com.atlassian.plugins.codegen.modules.jira.keyboard.JiraKeyboardShortcutModuleCreator;
5   import com.atlassian.plugins.codegen.modules.jira.keyboard.JiraKeyboardShortcutProperties;
6   import org.junit.Before;
7   import org.junit.Test;
8   
9   import static org.junit.Assert.assertEquals;
10  
11  /**
12   * @since 3.6
13   */
14  public class KeyboardShortcutTest extends AbstractModuleCreatorTestCase<JiraKeyboardShortcutProperties>
15  {
16      public KeyboardShortcutTest()
17      {
18          super("keyboard-shortcut", new JiraKeyboardShortcutModuleCreator());
19      }
20  
21      @Before
22      public void setupProps() throws Exception
23      {
24          setProps(new JiraKeyboardShortcutProperties("My Keyboard Shortcut"));
25          props.setIncludeExamples(false);
26          props.setOperationType("click");
27          props.setOperationValue("do:something");
28          props.setShortcut("m");
29          props.setContext("issueaction");
30      }
31  
32      @Test
33      public void moduleHasShortcut() throws Exception
34      {
35          assertEquals("m", getGeneratedModule().selectSingleNode("shortcut").getText());
36      }
37      
38      @Test
39      public void moduleHasContext() throws Exception
40      {
41          assertEquals("issueaction", getGeneratedModule().selectSingleNode("context").getText());
42      }
43  
44      @Test
45      public void moduleHasOperationType() throws Exception
46      {
47          assertEquals("click", getGeneratedModule().selectSingleNode("operation/@type").getText());
48      }
49  
50      @Test
51      public void moduleHasOperationValue() throws Exception
52      {
53          assertEquals("do:something", getGeneratedModule().selectSingleNode("operation").getText());
54      }
55  
56      @Test
57      public void moduleHasDefaultOrder() throws Exception
58      {
59          assertEquals("10", getGeneratedModule().selectSingleNode("order").getText());
60      }
61  
62      @Test
63      public void moduleHasSpecifiedOrder() throws Exception
64      {
65          props.setOrder(1000);
66          
67          assertEquals("1000", getGeneratedModule().selectSingleNode("order").getText());
68      }
69  }