Package com.streamreduce.core.dao

Source Code of com.streamreduce.core.dao.InventoryItemDAOIT

package com.streamreduce.core.dao;

import com.streamreduce.AbstractDAOTest;
import com.streamreduce.ProviderIdConstants;
import com.streamreduce.core.model.Account;
import com.streamreduce.core.model.Connection;
import com.streamreduce.core.model.InventoryItem;
import com.streamreduce.core.service.InventoryService;
import com.streamreduce.test.service.TestUtils;
import com.streamreduce.util.JSONObjectBuilder;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

import static org.junit.Assert.assertEquals;

public class InventoryItemDAOIT extends AbstractDAOTest {

    static final String SAMPLE_EXTERNAL_ID = "ABC-DEF-123456789";

    @Autowired
    private InventoryItemDAO inventoryItemDAO;
    @Autowired
    private ConnectionDAO connectionDAO;
    @Autowired
    private AccountDAO accountDAO;
    @Autowired
    private UserDAO userDAO;
    @Autowired
    private InventoryService inventoryService;

    private Account testAccount;
    private Connection testConnection;

    @Before
    public void setUp() throws Exception {
        testConnection = TestUtils.createTestFeedConnection();
        testConnection.setExternalId("ABC-DEF-123456789");

        //fake InventoryService out by giving it a custom provider type, which allows inventory to be created
        testConnection.setProviderId(ProviderIdConstants.CUSTOM_PROVIDER_ID);
        testAccount = testConnection.getAccount();
        accountDAO.save(testAccount);
        userDAO.save(testConnection.getUser());
        connectionDAO.save(testConnection);
        inventoryService.createInventoryItem(testConnection, new JSONObjectBuilder().add("inventoryItemId",SAMPLE_EXTERNAL_ID).build());

    }

    @Test
    public void testForAccount() throws Exception  {
        List<InventoryItem> inventoryItems = inventoryItemDAO.forAccount(testAccount);
        assertEquals(1, inventoryItems.size());
    }

    @Test
    public void testGetByExternalId() {
        List<InventoryItem> inventoryItems = inventoryItemDAO.getByExternalId(SAMPLE_EXTERNAL_ID);
        assertEquals(1, inventoryItems.size());
    }

    @Test
    public void testGetByExternalIdNotDeleted() throws Exception {
        InventoryItem deletedItem = inventoryService.createInventoryItem(testConnection,
                new JSONObjectBuilder().add("inventoryItemId",SAMPLE_EXTERNAL_ID).build());
        inventoryService.markInventoryItemDeleted(deletedItem);

        List<InventoryItem> inventoryItems = inventoryItemDAO.getByExternalId(SAMPLE_EXTERNAL_ID);
        assertEquals(2, inventoryItems.size());

        List<InventoryItem> inventoryItemsNotDeleted = inventoryItemDAO.getByExternalIdNotDeleted(SAMPLE_EXTERNAL_ID);
        assertEquals(1, inventoryItemsNotDeleted.size());


    }
}
TOP

Related Classes of com.streamreduce.core.dao.InventoryItemDAOIT

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.