Skip to content
This repository was archived by the owner on Nov 24, 2022. It is now read-only.

Commit 9c8e2d4

Browse files
committed
MX-9 css'ing on the form. replaced easymock with mockito for this part
1 parent 902ed4c commit 9c8e2d4

13 files changed

Lines changed: 186 additions & 225 deletions

File tree

eHour-wicketweb/src/main/java/net/rrm/ehour/ui/admin/config/MainConfigPage.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,18 @@
2020
import net.rrm.ehour.config.service.ConfigurationService;
2121
import net.rrm.ehour.ui.admin.AbstractAdminPage;
2222
import net.rrm.ehour.ui.admin.config.panel.ConfigTabPanel;
23+
import org.apache.wicket.markup.head.CssHeaderItem;
24+
import org.apache.wicket.markup.head.IHeaderResponse;
2325
import org.apache.wicket.model.CompoundPropertyModel;
2426
import org.apache.wicket.model.ResourceModel;
27+
import org.apache.wicket.request.resource.CssResourceReference;
2528
import org.apache.wicket.spring.injection.annot.SpringBean;
2629

2730
/**
2831
* Main config page
2932
*/
3033
public class MainConfigPage extends AbstractAdminPage<Void> {
31-
private static final long serialVersionUID = 8613594529875207988L;
34+
private static final CssResourceReference CSS = new CssResourceReference(MainConfigPage.class, "config.css");
3235

3336
@SpringBean
3437
private ConfigurationService configService;
@@ -48,4 +51,9 @@ private void setUpPage() {
4851
private EhourConfigStub getDbConfig() {
4952
return configService.getConfiguration();
5053
}
54+
55+
@Override
56+
public void renderHead(IHeaderResponse response) {
57+
response.render(CssHeaderItem.forReference(CSS));
58+
}
5159
}

eHour-wicketweb/src/main/java/net/rrm/ehour/ui/admin/config/panel/AbstractConfigPanel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public abstract class AbstractConfigPanel extends AbstractFormSubmittingPanel<Ma
5252
private ConfigurationService configService;
5353

5454
public AbstractConfigPanel(String id, IModel<MainConfigBackingBean> model) {
55-
this(id, model, WebGeo.W_CONTENT_ADMIN_TAB);
55+
this(id, model, WebGeo.W_CONTENT_MEDIUM);
5656
}
5757

5858
public AbstractConfigPanel(String id, IModel<MainConfigBackingBean> model, WebGeo width) {

eHour-wicketweb/src/main/java/net/rrm/ehour/ui/admin/config/panel/ConfigTabPanel.java

Lines changed: 72 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -12,93 +12,76 @@
1212
/**
1313
* Config tab panel which acts as a container and manager for the various
1414
* config tabs
15-
**/
16-
17-
public class ConfigTabPanel extends MultiTabbedPanel
18-
{
19-
private static final long serialVersionUID = -8241216529074995434L;
20-
21-
public ConfigTabPanel(String id, IModel<MainConfigBackingBean> model)
22-
{
23-
super(id);
24-
25-
createTabs(model);
26-
}
27-
28-
private void createTabs(IModel<MainConfigBackingBean> model)
29-
{
30-
addTab(ConfigTab.MISC, new MiscConfigPanelFactory(), model);
31-
addTab(ConfigTab.LOCALE, new LocaleConfigPanelFactory(), model);
32-
addTab(ConfigTab.SMTP, new MailServerConfigPanelFactory(), model);
33-
addTab(ConfigTab.SKIN, new SkinConfigPanelFactory(), model);
34-
addTab(ConfigTab.AUDIT, new AuditConfigPanelFactory(), model);
35-
}
36-
37-
@SuppressWarnings({ "serial" })
38-
private void addTab(ConfigTab tabDefinition, final TabFactory tabFactory, final IModel<MainConfigBackingBean> model)
39-
{
40-
removeTab(tabDefinition.getTabIndex());
41-
42-
AbstractTab tab = new AbstractTab(new ResourceModel(tabDefinition.getTitleResourceId()))
43-
{
44-
@Override
45-
public Panel getPanel(String panelId)
46-
{
47-
return tabFactory.createTab(panelId, model);
48-
}
49-
};
50-
51-
getTabs().add(tabDefinition.getTabIndex(), tab);
52-
}
53-
54-
@SuppressWarnings("serial")
55-
private static class AuditConfigPanelFactory implements TabFactory
56-
{
57-
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model)
58-
{
59-
return new AuditConfigPanel(panelId, model);
60-
}
61-
}
62-
63-
@SuppressWarnings("serial")
64-
private static class SkinConfigPanelFactory implements TabFactory
65-
{
66-
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model)
67-
{
68-
return new SkinConfigPanel(panelId, model);
69-
}
70-
}
71-
72-
73-
@SuppressWarnings("serial")
74-
private static class MiscConfigPanelFactory implements TabFactory
75-
{
76-
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model)
77-
{
78-
return new MiscConfigPanel(panelId, model);
79-
}
80-
}
81-
82-
@SuppressWarnings("serial")
83-
private static class LocaleConfigPanelFactory implements TabFactory
84-
{
85-
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model)
86-
{
87-
return new LocaleConfigPanel(panelId, model);
88-
}
89-
}
90-
91-
@SuppressWarnings("serial")
92-
private static class MailServerConfigPanelFactory implements TabFactory
93-
{
94-
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model)
95-
{
96-
return new MailServerConfigPanel(panelId, model);
97-
}
98-
}
99-
100-
private static interface TabFactory extends Serializable
101-
{
102-
Panel createTab(String panelId, IModel<MainConfigBackingBean> model);
103-
}
15+
*/
16+
17+
public class ConfigTabPanel extends MultiTabbedPanel {
18+
private static final long serialVersionUID = -8241216529074995434L;
19+
20+
public ConfigTabPanel(String id, IModel<MainConfigBackingBean> model) {
21+
super(id);
22+
23+
createTabs(model);
24+
}
25+
26+
private void createTabs(IModel<MainConfigBackingBean> model) {
27+
addTab(ConfigTab.MISC, new MiscConfigPanelFactory(), model);
28+
addTab(ConfigTab.LOCALE, new LocaleConfigPanelFactory(), model);
29+
addTab(ConfigTab.SMTP, new MailServerConfigPanelFactory(), model);
30+
addTab(ConfigTab.SKIN, new SkinConfigPanelFactory(), model);
31+
addTab(ConfigTab.AUDIT, new AuditConfigPanelFactory(), model);
32+
}
33+
34+
@SuppressWarnings({"serial"})
35+
private void addTab(ConfigTab tabDefinition, final TabFactory tabFactory, final IModel<MainConfigBackingBean> model) {
36+
removeTab(tabDefinition.getTabIndex());
37+
38+
AbstractTab tab = new AbstractTab(new ResourceModel(tabDefinition.getTitleResourceId())) {
39+
@Override
40+
public Panel getPanel(String panelId) {
41+
return tabFactory.createTab(panelId, model);
42+
}
43+
};
44+
45+
getTabs().add(tabDefinition.getTabIndex(), tab);
46+
}
47+
48+
@SuppressWarnings("serial")
49+
private static class AuditConfigPanelFactory implements TabFactory {
50+
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model) {
51+
return new AuditConfigPanel(panelId, model);
52+
}
53+
}
54+
55+
@SuppressWarnings("serial")
56+
private static class SkinConfigPanelFactory implements TabFactory {
57+
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model) {
58+
return new SkinConfigPanel(panelId, model);
59+
}
60+
}
61+
62+
63+
@SuppressWarnings("serial")
64+
private static class MiscConfigPanelFactory implements TabFactory {
65+
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model) {
66+
return new MiscConfigPanel(panelId, model);
67+
}
68+
}
69+
70+
@SuppressWarnings("serial")
71+
private static class LocaleConfigPanelFactory implements TabFactory {
72+
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model) {
73+
return new LocaleConfigPanel(panelId, model);
74+
}
75+
}
76+
77+
@SuppressWarnings("serial")
78+
private static class MailServerConfigPanelFactory implements TabFactory {
79+
public Panel createTab(String panelId, IModel<MainConfigBackingBean> model) {
80+
return new MailServerConfigPanel(panelId, model);
81+
}
82+
}
83+
84+
private static interface TabFactory extends Serializable {
85+
Panel createTab(String panelId, IModel<MainConfigBackingBean> model);
86+
}
10487
}

eHour-wicketweb/src/main/java/net/rrm/ehour/ui/admin/config/panel/MiscConfigPanel.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</tr>
2121

2222
<tr>
23-
<td valign="top"><wicket:message key="admin.config.firstDayWeek" />:</td>`
23+
<td valign="top"><wicket:message key="admin.config.firstDayWeek" />:</td>
2424
<td><select style="width: 15em" class="textInputSmall" wicket:id="firstWeekStart"></select></td>
2525
</tr>
2626

eHour-wicketweb/src/main/scala/net/rrm/ehour/ui/admin/config/SystemInfoPanel.scala

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ class SystemInfoPanel(id: String) extends AbstractBasePanel(id) {
1313
@SpringBean
1414
protected var infoService: SystemInfoService = _
1515

16-
val Css = new CssResourceReference(classOf[SystemInfoPanel], "systemInfo.css")
17-
1816
override def onInitialize() {
1917
super.onInitialize()
2018

@@ -36,8 +34,4 @@ class SystemInfoPanel(id: String) extends AbstractBasePanel(id) {
3634
add(new Label("db.url", info.databaseUrl))
3735

3836
}
39-
40-
override def renderHead(response: IHeaderResponse) {
41-
response.render(CssHeaderItem.forReference(Css))
42-
}
4337
}

eHour-wicketweb/src/main/scala/net/rrm/ehour/ui/admin/config/systemInfo.css renamed to eHour-wicketweb/src/main/scala/net/rrm/ehour/ui/admin/config/config.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,8 @@
1111
width: 7em;
1212
}
1313

14+
.contentTable tr td:first-child {
15+
width: 25em;
16+
padding-right: 2em;
17+
}
18+

eHour-wicketweb/src/test/java/net/rrm/ehour/ui/admin/config/AbstractMainConfigTest.java

Lines changed: 23 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -17,82 +17,56 @@
1717
package net.rrm.ehour.ui.admin.config;
1818

1919
import net.rrm.ehour.appconfig.EhourHomeUtil;
20-
import net.rrm.ehour.config.EhourConfig;
2120
import net.rrm.ehour.config.EhourConfigStub;
2221
import net.rrm.ehour.config.service.ConfigurationServiceImpl;
2322
import net.rrm.ehour.mail.service.MailService;
2423
import net.rrm.ehour.sysinfo.SystemInfo;
2524
import net.rrm.ehour.sysinfo.SystemInfoService;
2625
import net.rrm.ehour.ui.common.BaseSpringWebAppTester;
2726
import net.rrm.ehour.user.service.UserService;
28-
import org.junit.After;
2927
import org.junit.Before;
3028

3129
import java.io.Serializable;
3230

33-
import static org.easymock.EasyMock.*;
31+
import static org.mockito.Mockito.mock;
32+
import static org.mockito.Mockito.when;
3433

3534
@SuppressWarnings("serial")
36-
public abstract class AbstractMainConfigTest extends BaseSpringWebAppTester implements Serializable
37-
{
38-
public static final String FORM_PATH = "configTabs:panel:border:greySquaredFrame:border_body:form";
35+
public abstract class AbstractMainConfigTest extends BaseSpringWebAppTester implements Serializable {
36+
public static final String FORM_PATH = "configTabs:panel:border:greySquaredFrame:border_body:form";
3937

4038
protected ConfigurationServiceImpl configService;
41-
private MailService mailService;
42-
private EhourConfigStub config;
43-
private UserService userService;
39+
protected MailService mailService;
40+
protected EhourConfigStub config;
41+
protected UserService userService;
4442

4543
@SuppressWarnings({"deprecation"})
4644
@Before
47-
public void before() throws Exception
48-
{
45+
public void before() throws Exception {
4946
EhourHomeUtil.setEhourHome("src/test/resources");
50-
configService = createMock(ConfigurationServiceImpl.class,
47+
configService = mock(ConfigurationServiceImpl.class);/*,
5148
ConfigurationServiceImpl.class.getMethod("getConfiguration"),
52-
ConfigurationServiceImpl.class.getMethod("persistConfiguration", EhourConfig.class));
53-
getMockContext().putBean("configService", configService);
49+
ConfigurationServiceImpl.class.getMethod("persistConfiguration", EhourConfig.class));*/
50+
getMockContext().putBean("configService", configService);
5451

55-
SystemInfoService infoService = createMock(SystemInfoService.class);
52+
SystemInfoService infoService = mock(SystemInfoService.class);
5653
getMockContext().putBean(infoService);
57-
expect(infoService.info()).andReturn(new SystemInfo("a", "b", "c"));
58-
replay(infoService);
54+
when(infoService.info()).thenReturn(new SystemInfo("a", "b", "c"));
5955

60-
mailService = createMock(MailService.class);
61-
getMockContext().putBean("mailService", mailService);
56+
mailService = mock(MailService.class);
57+
getMockContext().putBean("mailService", mailService);
6258

63-
config = new EhourConfigStub();
64-
expect(configService.getConfiguration()).andReturn(config);
59+
config = new EhourConfigStub();
60+
when(configService.getConfiguration()).thenReturn(config);
6561

66-
userService = createMock(UserService.class);
62+
userService = mock(UserService.class);
6763
getMockContext().putBean("userService", userService);
6864

6965
}
7066

71-
@After
72-
public void tearDown()
73-
{
74-
verify(configService);
75-
}
76-
77-
protected void startPage()
78-
{
79-
getTester().startPage(MainConfigPage.class);
80-
getTester().assertRenderedPage(MainConfigPage.class);
81-
getTester().assertNoErrorMessage();
82-
}
83-
84-
protected EhourConfigStub getConfigStub()
85-
{
86-
return config;
87-
}
88-
89-
protected ConfigurationServiceImpl getConfigService()
90-
{
91-
return configService;
92-
}
93-
94-
protected MailService getMailService()
95-
{
96-
return mailService;
97-
}
67+
protected void startPage() {
68+
getTester().startPage(MainConfigPage.class);
69+
getTester().assertRenderedPage(MainConfigPage.class);
70+
getTester().assertNoErrorMessage();
71+
}
9872
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package net.rrm.ehour.ui.admin.config
2+
3+
import net.rrm.ehour.AbstractSpringWebAppSpec
4+
import net.rrm.ehour.config.EhourConfigStub
5+
import net.rrm.ehour.config.service.ConfigurationService
6+
import net.rrm.ehour.sysinfo.{SystemInfo, SystemInfoService}
7+
import net.rrm.ehour.user.service.UserService
8+
import org.mockito.Mockito._
9+
10+
class MainConfigPageSpec extends AbstractSpringWebAppSpec {
11+
"Main Config page" should {
12+
val sysInfoService = mockService[SystemInfoService]
13+
val configService = mockService[ConfigurationService]
14+
mockService[UserService]
15+
16+
"render" in {
17+
when(sysInfoService.info).thenReturn(SystemInfo("mysql", "..", "jdbc.Driver"))
18+
when(configService.getConfiguration).thenReturn(new EhourConfigStub)
19+
20+
tester.startPage(classOf[MainConfigPage])
21+
tester.assertNoErrorMessage()
22+
}
23+
}
24+
}

0 commit comments

Comments
 (0)