package org.openlmis.core.view.holder;
import android.view.LayoutInflater;
import android.view.View;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openlmis.core.LMISTestRunner;
import org.openlmis.core.R;
import org.openlmis.core.model.Product;
import org.openlmis.core.model.StockCard;
import org.openlmis.core.view.holder.StockCardViewHolder.OnItemViewClickListener;
import org.openlmis.core.view.viewmodel.InventoryViewModel;
import org.robolectric.RuntimeEnvironment;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@RunWith(LMISTestRunner.class)
public class KitStockCardViewHolderTest {
private OnItemViewClickListener listener;
private KitStockCardViewHolder viewHolder;
@Before
public void setUp() throws Exception {
listener = mock(OnItemViewClickListener.class);
View view = LayoutInflater.from(RuntimeEnvironment.application).inflate(R.layout.item_stockcard, null, false);
viewHolder = new KitStockCardViewHolder(view, listener);
}
@Test
public void shouldShowKitInfo() throws Exception {
StockCard stockCard = new StockCard();
stockCard.setStockOnHand(200);
final Product product = new Product();
product.setPrimaryName("product");
stockCard.setProduct(product);
viewHolder.populate(new InventoryViewModel(stockCard), "");
assertThat(viewHolder.tvProductName.getText().toString()).isEqualTo("product");
assertThat(viewHolder.tvProductUnit.getVisibility()).isEqualTo(View.INVISIBLE);
assertThat(viewHolder.tvStockOnHand.getText().toString()).isEqualTo("200");
}
}