📄 accountbeantest.java
字号:
package test.com.ibatis.jpetstore.presentation;
import java.util.List;
import org.jmock.Mock;
import org.jmock.cglib.MockObjectTestCase;
import test.com.ibatis.jpetstore.domain.DomainFixture;
import com.ibatis.common.util.PaginatedArrayList;
import com.ibatis.jpetstore.domain.Account;
import com.ibatis.jpetstore.presentation.AbstractBean;
import com.ibatis.jpetstore.presentation.AccountBean;
import com.ibatis.jpetstore.service.AccountService;
import com.ibatis.jpetstore.service.CatalogService;
public class AccountBeanTest extends MockObjectTestCase {
public void testShouldSuccessfullyCallServicesToCreateNewAccount() {
Account account = DomainFixture.newTestAccount();
Mock accountServiceMock = mock(AccountService.class);
accountServiceMock.expects(once())
.method("insertAccount")
.with(NOT_NULL);
accountServiceMock.expects(once())
.method("getAccount")
.with(NOT_NULL)
.will(returnValue(account));
Mock catalogServiceMock = mock(CatalogService.class);
catalogServiceMock.expects(once())
.method("getProductListByCategory")
.with(NOT_NULL)
.will(returnValue(new PaginatedArrayList(5)));
AccountBean accountBean = new AccountBean((AccountService)accountServiceMock.proxy(), (CatalogService)catalogServiceMock.proxy());
accountBean.setAccount(account);
String result = accountBean.newAccount();
assertEquals(AbstractBean.SUCCESS, result);
}
public void testShouldSuccessfullyCallServicesToUpdateExistingAccount() {
Account account = DomainFixture.newTestAccount();
Mock accountServiceMock = mock(AccountService.class);
accountServiceMock.expects(once())
.method("updateAccount")
.with(NOT_NULL);
accountServiceMock.expects(once())
.method("getAccount")
.with(NOT_NULL)
.will(returnValue(account));
Mock catalogServiceMock = mock(CatalogService.class);
catalogServiceMock.expects(once())
.method("getProductListByCategory")
.with(NOT_NULL)
.will(returnValue(new PaginatedArrayList(5)));
AccountBean accountBean = new AccountBean((AccountService)accountServiceMock.proxy(), (CatalogService)catalogServiceMock.proxy());
accountBean.setAccount(account);
String result = accountBean.editAccount();
assertEquals(AbstractBean.SUCCESS, result);
}
public void testShouldCallEditAccountFormReturningSuccess() {
Account account = DomainFixture.newTestAccount();
Mock accountServiceMock = mock(AccountService.class);
accountServiceMock.expects(once())
.method("getAccount")
.with(NOT_NULL)
.will(returnValue(account));
Mock catalogServiceMock = mock(CatalogService.class);
AccountBean accountBean = new AccountBean((AccountService)accountServiceMock.proxy(), (CatalogService)catalogServiceMock.proxy());
accountBean.setAccount(account);
assertEquals(AbstractBean.SUCCESS, accountBean.editAccountForm());
}
public void testShouldSwitchPageDirection() {
Account account = DomainFixture.newTestAccount();
Mock accountServiceMock = mock(AccountService.class);
Mock catalogServiceMock = mock(CatalogService.class);
AccountBean accountBean = new AccountBean((AccountService)accountServiceMock.proxy(), (CatalogService)catalogServiceMock.proxy());
accountBean.setAccount(account);
accountBean.setMyList(new PaginatedArrayList(5));
accountBean.setPageDirection("next");
assertEquals(AbstractBean.SUCCESS,accountBean.switchMyListPage());
accountBean.setPageDirection("previous");
assertEquals(AbstractBean.SUCCESS,accountBean.switchMyListPage());
}
public void testShouldSignoffAccount() {
Account account = DomainFixture.newTestAccount();
Mock accountServiceMock = mock(AccountService.class);
accountServiceMock.expects(once())
.method("getAccount")
.with(NOT_NULL,NOT_NULL)
.will(returnValue(account));
Mock catalogServiceMock = mock(CatalogService.class);
catalogServiceMock.expects(once())
.method("getProductListByCategory")
.with(NOT_NULL)
.will(returnValue(new PaginatedArrayList(5)));
AccountBean accountBean = new AccountBean((AccountService)accountServiceMock.proxy(), (CatalogService)catalogServiceMock.proxy());
accountBean.setAccount(account);
accountBean.signon();
assertEquals(AbstractBean.SUCCESS, accountBean.signoff());
assertFalse(accountBean.isAuthenticated());
}
public void testShouldSignonAccount() {
Account account = DomainFixture.newTestAccount();
Mock accountServiceMock = mock(AccountService.class);
accountServiceMock.expects(once())
.method("getAccount")
.with(NOT_NULL,NOT_NULL)
.will(returnValue(account));
Mock catalogServiceMock = mock(CatalogService.class);
catalogServiceMock.expects(once())
.method("getProductListByCategory")
.with(NOT_NULL)
.will(returnValue(new PaginatedArrayList(5)));
AccountBean accountBean = new AccountBean((AccountService)accountServiceMock.proxy(), (CatalogService)catalogServiceMock.proxy());
accountBean.setAccount(account);
assertEquals(AbstractBean.SUCCESS, accountBean.signon());
assertTrue(accountBean.isAuthenticated());
}
public void testShouldFailToSignonAccount() {
Account account = DomainFixture.newTestAccount();
Mock accountServiceMock = mock(AccountService.class);
accountServiceMock.expects(once())
.method("getAccount")
.with(NULL,NULL)
.will(returnValue(null));
Mock catalogServiceMock = mock(CatalogService.class);
AccountBean accountBean = new AccountBean((AccountService)accountServiceMock.proxy(), (CatalogService)catalogServiceMock.proxy());
assertEquals(AbstractBean.FAILURE, accountBean.signon());
assertFalse(accountBean.isAuthenticated());
}
public void testShouldGetCategories() {
AccountBean bean = new AccountBean();
List categories = bean.getCategories();
assertTrue(categories.contains("DOGS"));
assertTrue(categories.contains("CATS"));
assertTrue(categories.contains("BIRDS"));
assertTrue(categories.contains("REPTILES"));
assertTrue(categories.contains("FISH"));
}
public void testShouldGetLanguages() {
AccountBean bean = new AccountBean();
List langs = bean.getLanguages();
assertTrue(langs.contains("english"));
assertTrue(langs.contains("japanese"));
}
public void testShouldResetBooleanOptions() {
AccountBean bean = new AccountBean();
bean.setAccount(DomainFixture.newTestAccount());
bean.getAccount().setBannerOption(true);
bean.getAccount().setListOption(true);
bean.reset();
assertFalse(bean.getAccount().isBannerOption());
assertFalse(bean.getAccount().isListOption());
}
public void testShouldClearAccountBean() {
Mock accountServiceMock = mock(AccountService.class);
Mock catalogServiceMock = mock(CatalogService.class);
AccountBean accountBean = new AccountBean((AccountService)accountServiceMock.proxy(), (CatalogService)catalogServiceMock.proxy());
accountBean.setAccount(DomainFixture.newTestAccount());
accountBean.setRepeatedPassword("something");
accountBean.setPageDirection("F");
accountBean.setMyList(new PaginatedArrayList(5));
accountBean.clear();
assertEquals(null, accountBean.getAccount().getFirstName());
assertEquals(null, accountBean.getRepeatedPassword());
assertEquals(null, accountBean.getPageDirection());
assertEquals(null, accountBean.getMyList());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -