Package org.agoncal.application.petstore.service

Source Code of org.agoncal.application.petstore.service.CatalogServiceIT

package org.agoncal.application.petstore.service;

import org.agoncal.application.petstore.domain.Category;
import org.agoncal.application.petstore.domain.Item;
import org.agoncal.application.petstore.domain.Product;
import org.jboss.arquillian.junit.Arquillian;
import org.junit.Test;
import org.junit.runner.RunWith;

import javax.inject.Inject;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;

/**
* @author Antonio Goncalves
*         http://www.antoniogoncalves.org
*/
//@Ignore
@RunWith(Arquillian.class)
public class CatalogServiceIT extends AbstractServiceIT {

    // ======================================
    // =             Attributes             =
    // ======================================

    @Inject
    private CatalogService catalogService;

    // ======================================
    // =              Unit tests            =
    // ======================================

    @Test
    public void shouldCRUDaCategory() {

        // Finds all the objects
        int initialNumber = catalogService.findAllCategories().size();

        // Creates an object
        Category category = new Category("Fish", "Any of numerous cold-blooded aquatic vertebrates characteristically having fins, gills, and a streamlined body");

        // Persists the object
        category = catalogService.createCategory(category);
        Long id = category.getId();

        // Finds all the objects and checks there's an extra one
        assertEquals("Should have an extra object", initialNumber + 1, catalogService.findAllCategories().size());

        // Finds the object by primary key
        category = catalogService.findCategory(id);
        assertEquals("Fish", category.getName());

        // Updates the object
        category.setName("Big Fish");
        catalogService.updateCategory(category);

        // Finds the object by primary key
        category = catalogService.findCategory(id);
        assertEquals("Big Fish", category.getName());

        // Deletes the object
        catalogService.removeCategory(category);

        // Checks the object has been deleted
        assertNull("Should has been deleted", catalogService.findCategory(id));

        // Finds all the objects and checks there's one less
        assertEquals("Should have an extra object", initialNumber, catalogService.findAllCategories().size());
    }

    @Test
    public void shouldCRUDaProduct() {

        // Finds all the objects
        int initialNumber = catalogService.findAllProducts().size();

        // Creates an object
        Category category = new Category("Fish", "Any of numerous cold-blooded aquatic vertebrates characteristically having fins, gills, and a streamlined body");
        Product product = new Product("Angelfish", "Saltwater fish from Australia", category);

        // Persists the object
        product = catalogService.createProduct(product);
        Long id = product.getId();

        // Finds all the objects and checks there's an extra one
        assertEquals("Should have an extra object", initialNumber + 1, catalogService.findAllProducts().size());

        // Finds the object by primary key
        product = catalogService.findProduct(id);
        assertEquals("Angelfish", product.getName());

        // Updates the object
        product.setName("Big Angelfish");
        catalogService.updateProduct(product);

        // Finds the object by primary key
        product = catalogService.findProduct(id);
        assertEquals("Big Angelfish", product.getName());

        // Deletes the object
        catalogService.removeProduct(product);

        // Checks the object has been deleted
        assertNull("Should has been deleted", catalogService.findProduct(id));

        // Finds all the objects and checks there's one less
        assertEquals("Should have an extra object", initialNumber, catalogService.findAllProducts().size());
    }

    @Test
    public void shouldCRUDanItem() {

        // Finds all the objects
        int initialNumber = catalogService.findAllItems().size();

        // Creates an object
        Category category = new Category("Fish", "Any of numerous cold-blooded aquatic vertebrates characteristically having fins, gills, and a streamlined body");
        Product product = new Product("Angelfish", "Saltwater fish from Australia", category);
        Item item = new Item("Large", 10.00f, "fish1.jpg", product, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum velit ante, malesuada porta condimentum eget, tristique id magna. Donec ac justo velit. Suspendisse potenti. Donec vulputate vulputate molestie. Quisque vitae arcu massa, dictum sodales leo. Sed feugiat elit vitae ante auctor ultrices. Duis auctor consectetur arcu id faucibus. Curabitur gravida.");

        // Persists the object
        item = catalogService.createItem(item);
        Long id = item.getId();

        // Finds all the objects and checks there's an extra one
        assertEquals("Should have an extra object", initialNumber + 1, catalogService.findAllItems().size());

        // Finds the object by primary key
        item = catalogService.findItem(id);
        assertEquals("Large", item.getName());

        // Updates the object
        item.setName("Large fish");
        catalogService.updateItem(item);

        // Finds the object by primary key
        item = catalogService.findItem(id);
        assertEquals("Large fish", item.getName());

        // Deletes the object
        catalogService.removeItem(item);

        // Checks the object has been deleted
        assertNull("Should has been deleted", catalogService.findItem(id));

        // Finds all the objects and checks there's one less
        assertEquals("Should have an extra object", initialNumber, catalogService.findAllItems().size());
    }
}
TOP

Related Classes of org.agoncal.application.petstore.service.CatalogServiceIT

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.