|
|
@@ -0,0 +1,128 @@
|
|
|
+package kr.co.zumo.app.lifeplus.supervisor;
|
|
|
+
|
|
|
+import org.junit.Before;
|
|
|
+import org.junit.Test;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
+
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.CoinInfoBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.CoinInfoResultBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusData;
|
|
|
+import kr.co.zumo.app.lifeplus.model.LifeplusPreferences;
|
|
|
+import kr.co.zumo.app.lifeplus.model.SuperModel;
|
|
|
+import kr.co.zumo.app.lifeplus.util.Formatter;
|
|
|
+
|
|
|
+import static junit.framework.Assert.assertEquals;
|
|
|
+import static org.powermock.api.mockito.PowerMockito.mock;
|
|
|
+
|
|
|
+/**
|
|
|
+ * GuestCoinManagerTest
|
|
|
+ * <pre>
|
|
|
+ * </pre>
|
|
|
+ *
|
|
|
+ * @author 민효동
|
|
|
+ * @version 1.0
|
|
|
+ * @history 민효동 [2019. 1. 22.] [최초 작성]
|
|
|
+ * @since 2019. 1. 22.
|
|
|
+ */
|
|
|
+public class GuestCoinManagerTest {
|
|
|
+ private CoinInfoResultBean coinInfoResultBean;
|
|
|
+ LifeplusPreferences lifeplusPreferences;
|
|
|
+ GuestCoinManager guestCoinManager;
|
|
|
+
|
|
|
+ @Before
|
|
|
+ public void setup() {
|
|
|
+ lifeplusPreferences = mock(LifeplusPreferences.class);
|
|
|
+
|
|
|
+ SuperModel.getInstance().init(lifeplusPreferences);
|
|
|
+
|
|
|
+ coinInfoResultBean = new CoinInfoResultBean();
|
|
|
+ coinInfoResultBean.setCoin("0");
|
|
|
+ coinInfoResultBean.setExpiringCoin("0");
|
|
|
+ coinInfoResultBean.setData(new ArrayList<>());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void addCoinInfo() {
|
|
|
+
|
|
|
+ CoinInfoBean infoBean = new CoinInfoBean(GuestCoinManager.GUEST_COIN_LIMIT_DAYS);
|
|
|
+ infoBean.setDate(Formatter.format(Calendar.getInstance().getTimeInMillis(), CoinInfoBean.DATE_PATTERN));
|
|
|
+ infoBean.setGoodsAmount(String.valueOf(1));
|
|
|
+ infoBean.setDecreasing(LifeplusData.FALSE);
|
|
|
+ infoBean.setGoodsName("test-----------");
|
|
|
+
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ assertEquals("1", coinInfoResultBean.getCoin());
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ assertEquals("10", coinInfoResultBean.getCoin());
|
|
|
+ GuestCoinManager.getSharePoint(coinInfoResultBean, infoBean, null, 10);
|
|
|
+ assertEquals("10", coinInfoResultBean.getCoin());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void expireCoin() {
|
|
|
+ guestCoinManager = new GuestCoinManager(coinInfoResultBean);
|
|
|
+
|
|
|
+ CoinInfoBean infoBean;
|
|
|
+ infoBean = new CoinInfoBean(1);
|
|
|
+ infoBean.setDate(Formatter.format(Calendar.getInstance().getTimeInMillis() - TimeUnit.DAYS.toMillis(1), CoinInfoBean.DATE_PATTERN));
|
|
|
+ infoBean.setGoodsAmount(String.valueOf(1));
|
|
|
+ infoBean.setDecreasing(LifeplusData.FALSE);
|
|
|
+ infoBean.setGoodsName("test-----------");
|
|
|
+
|
|
|
+ guestCoinManager.addCoinInfo(infoBean);
|
|
|
+ guestCoinManager.expireCoin();
|
|
|
+
|
|
|
+ assertEquals(1, guestCoinManager.getCoinInfoResultBean().getData().size());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void expireCoin2() {
|
|
|
+ guestCoinManager = new GuestCoinManager(coinInfoResultBean);
|
|
|
+
|
|
|
+ CoinInfoBean infoBean;
|
|
|
+ infoBean = new CoinInfoBean(7);
|
|
|
+ infoBean.setDate(Formatter.format(Calendar.getInstance().getTimeInMillis() - TimeUnit.DAYS.toMillis(6), CoinInfoBean.DATE_PATTERN));
|
|
|
+ infoBean.setGoodsAmount(String.valueOf(1));
|
|
|
+ infoBean.setDecreasing(LifeplusData.FALSE);
|
|
|
+ infoBean.setGoodsName("test-----------");
|
|
|
+
|
|
|
+ guestCoinManager.addCoinInfo(infoBean);
|
|
|
+
|
|
|
+ infoBean = new CoinInfoBean(7);
|
|
|
+ infoBean.setDate(Formatter.format(Calendar.getInstance().getTimeInMillis() - TimeUnit.DAYS.toMillis(7), CoinInfoBean.DATE_PATTERN));
|
|
|
+ infoBean.setGoodsAmount(String.valueOf(1));
|
|
|
+ infoBean.setDecreasing(LifeplusData.FALSE);
|
|
|
+ infoBean.setGoodsName("test-----------");
|
|
|
+
|
|
|
+ guestCoinManager.addCoinInfo(infoBean);
|
|
|
+
|
|
|
+ infoBean = new CoinInfoBean(7);
|
|
|
+ infoBean.setDate(Formatter.format(Calendar.getInstance().getTimeInMillis() - TimeUnit.DAYS.toMillis(8), CoinInfoBean.DATE_PATTERN));
|
|
|
+ infoBean.setGoodsAmount(String.valueOf(1));
|
|
|
+ infoBean.setDecreasing(LifeplusData.FALSE);
|
|
|
+ infoBean.setGoodsName("test-----------");
|
|
|
+
|
|
|
+ guestCoinManager.addCoinInfo(infoBean);
|
|
|
+
|
|
|
+ int count = guestCoinManager.expireCoin();
|
|
|
+ assertEquals(1, count);
|
|
|
+
|
|
|
+ assertEquals(2, guestCoinManager.getCoinInfoResultBean().getData().size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void getSharePoint() {
|
|
|
+ }
|
|
|
+}
|