package com.aventstack.extentreports.view.extenthtml;
import java.lang.reflect.Method;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.aventstack.extentreports.ExtentReports;
import com.aventstack.extentreports.ExtentTest;
import com.aventstack.extentreports.gherkin.model.Feature;
import com.aventstack.extentreports.gherkin.model.Given;
import com.aventstack.extentreports.gherkin.model.Scenario;
import com.aventstack.extentreports.reporter.ExtentHtmlReporter;
import com.aventstack.extentreports.utils.Reader;
public class ChartsVisibilityTests {
private static String PATH = "test-output/";
private static String EXT = ".html";
@Test
public void testAndLogsExpectsParentAndGrandChildCharts(Method method) {
String fileName = PATH + method.getName() + EXT;
ExtentHtmlReporter htmlReporter = new ExtentHtmlReporter(fileName);
ExtentReports extent = new ExtentReports();
extent.attachReporter(htmlReporter);
extent.createTest(method.getName()).pass("Pass");
extent.flush();
String html = Reader.readAllText(fileName);
Document doc = Jsoup.parse(html);
Assert.assertEquals(doc.select("#parent-analysis").size(), 1);
Assert.assertEquals(doc.select("#grandchild-analysis").size(), 1);
}
@Test
public void classAndTestAndLogsExpectsAllCharts(Method method) {
String fileName = PATH + method.getName() + EXT;
ExtentHtmlReporter htmlReporter = new ExtentHtmlReporter(fileName);
ExtentReports extent = new ExtentReports();
extent.attachReporter(htmlReporter);
extent.createTest(method.getName()).createNode("Child").pass("Pass");
extent.flush();
String html = Reader.readAllText(fileName);
Document doc = Jsoup.parse(html);
Assert.assertEquals(doc.select("#parent-analysis").size(), 1);
Assert.assertEquals(doc.select("#child-analysis").size(), 1);
Assert.assertEquals(doc.select("#grandchild-analysis").size(), 1);
}
@Test
public void bddExpectsAllCharts(Method method) {
String fileName = PATH + method.getName() + EXT;
ExtentHtmlReporter htmlReporter = new ExtentHtmlReporter(fileName);
ExtentReports extent = new ExtentReports();
extent.attachReporter(htmlReporter);
ExtentTest feature = extent.createTest(Feature.class, "Feature");
ExtentTest scenario = feature.createNode(Scenario.class, "Scenario");
scenario.createNode(Given.class, "Given");
extent.flush();
String html = Reader.readAllText(fileName);
Document doc = Jsoup.parse(html);
Assert.assertEquals(doc.select("#parent-analysis").size(), 1);
Assert.assertEquals(doc.select("#child-analysis").size(), 1);
Assert.assertEquals(doc.select("#grandchild-analysis").size(), 1);
}
}