package devopsdistilled.operp.client.items.controllers;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
import javax.inject.Inject;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import devopsdistilled.operp.client.context.AppContext;
import devopsdistilled.operp.client.items.models.ItemModel;
import devopsdistilled.operp.server.data.entity.items.Item;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { AppContext.class })
public class ItemControllerTest {
@Inject
private ItemController itemController;
@Inject
private ItemModel itemModel;
private Item item;
@Before
public void setUp() throws Exception {
item = new Item();
assertNotNull(itemModel);
assertNotNull(itemController);
}
@Test
public void testDeleteItem() {
/*
* For this test to run, Unique constraints in Item Entity should be
* removed.
*/
item = itemModel.saveAndUpdateModel(item); // this works fine; Tested
int beforeDeleteCount = itemModel.getEntities().size();
itemController.delete(item);
int afterDeleteCount = itemModel.getEntities().size();
assertThat(beforeDeleteCount, is(afterDeleteCount + 1));
Item returnedItem = itemModel.getService().findOne(item.getItemId());
assertNull(returnedItem);
}
}