serviceTests.CountProductsTestNGTest.java Source code

Java tutorial

Introduction

Here is the source code for serviceTests.CountProductsTestNGTest.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package serviceTests;

import com.pharmacy.pharmacyweb.configuration.ConnectionConfig;
import com.pharmacy.pharmacyweb.domain.products.Appliance;
import com.pharmacy.pharmacyweb.domain.products.Cosmetic;
import com.pharmacy.pharmacyweb.domain.products.Medicine;
import com.pharmacy.pharmacyweb.domain.products.Misc;
import com.pharmacy.pharmacyweb.domain.products.Product;
import com.pharmacy.pharmacyweb.repository.ApplianceRepository;
import com.pharmacy.pharmacyweb.repository.CosmeticRepository;
import com.pharmacy.pharmacyweb.repository.MedicineRepository;
import com.pharmacy.pharmacyweb.repository.MiscRepository;
import com.pharmacy.pharmacyweb.repository.ProductRepository;
import com.pharmacy.pharmacyweb.services.Impl.CountProducts;
import static com.pharmacy.pharmacyweb.services.Impl.CountProducts.ctx;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import static org.testng.Assert.*;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

/**
 *
 * @author J3nny
 */
public class CountProductsTestNGTest {
    public static ApplicationContext ctx;
    private static ProductRepository productRepo;
    private static ApplianceRepository applianceRepo;
    private static CosmeticRepository cosmeticRepo;
    private static MedicineRepository medicineRepo;
    private static MiscRepository miscRepo;
    private static CountProducts counter;

    public CountProductsTestNGTest() {
    }

    // TODO add test methods here.
    // The methods must be annotated with annotation @Test. For example:
    //
    // @Test
    // public void hello() {}

    @BeforeClass
    public static void setUpClass() throws Exception {
        ctx = new AnnotationConfigApplicationContext(ConnectionConfig.class);
        counter = new CountProducts();

        productRepo = ctx.getBean(ProductRepository.class);
        applianceRepo = ctx.getBean(ApplianceRepository.class);
        cosmeticRepo = ctx.getBean(CosmeticRepository.class);
        medicineRepo = ctx.getBean(MedicineRepository.class);
        miscRepo = ctx.getBean(MiscRepository.class);

        productRepo.deleteAll();
        applianceRepo.deleteAll();
        cosmeticRepo.deleteAll();
        medicineRepo.deleteAll();
        miscRepo.deleteAll();

        Product product = new Product.Builder()
                //.id(0)
                .productDescription("coco").productName("nestle coco").price(31.50).quantity(3).build();

        Appliance appliance = new Appliance.Builder()
                //.id(0)
                .modelCode("asd123").price(21.95).productName("Electric Toothbrush")
                .productDescription("Toothbrush").quantity(7).build();

        Cosmetic cosmetic = new Cosmetic.Builder()
                //.id(0)
                .cosmeticClass("Hair").productDescription("Shampoo").productName("Pantine Shampoo").price(30.50)
                .quantity(3).build();

        Medicine medicine = new Medicine.Builder()
                //.id(0)
                .productDescription("Cancer Antidote").productName("L Davids - Cancer-Away").price(349.95)
                .quantity(39).treats("cancer").build();

        Misc misc = new Misc.Builder()
                //.id(0)
                .productDescription("coco").productName("nestle coco").price(31.50).quantity(3).build();

        productRepo.save(product);
        applianceRepo.save(appliance);
        cosmeticRepo.save(cosmetic);
        medicineRepo.save(medicine);
        miscRepo.save(misc);
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }

    @BeforeMethod
    public void setUpMethod() throws Exception {
    }

    @AfterMethod
    public void tearDownMethod() throws Exception {
    }

    @Test
    public void countProducts() {
        assertEquals(counter.count(), 5);
    }
}