This notification indicates the items of non-compliance being the reason(s)
why a Minister's Approval Certificate (MAC) has not been issued. An application
- for re-examination can be made up to 6 calendar months following the issue date
+ for re-examination must be made no later than 6 months following the issue date
of the first "Notification of Refusal" in respect of the original application.
In any other case, a new application and a full fee must be submitted.
When modification/rectification, etc. has been completed an application for a re-examination (verbally or in writing)
diff --git a/src/test/java/htmlverification/framework/component/DefectSummaryComponent.java b/src/test/java/htmlverification/framework/component/DefectSummaryComponent.java
index 8c52c83a..082fdbff 100644
--- a/src/test/java/htmlverification/framework/component/DefectSummaryComponent.java
+++ b/src/test/java/htmlverification/framework/component/DefectSummaryComponent.java
@@ -19,9 +19,8 @@ public class DefectSummaryComponent {
public static final String MAJOR_DEFECTS_HEADER_TEXT_WELSH_CVS = "Atgyweirio ar unwaith (diffygion mawr)";
public static final String DANGEROUS_DEFECTS_HEADER_PARTIAL_TEXT_WELSH = "Peidiwch â gyrru nes iddo gael ei drwsio (diffygion peryglus)";
public static final String DANGEROUS_DEFECTS_HEADER_PARTIAL_TEXT_WELSH_CVS = "Peidiwch â gyrru nes ei fod wedi cael ei atgyweirio (diffygion peryglus)";
-
public static final String DANGEROUS_DEFECTS_HEADER_TEXT_WELSH_CVS = "Peidiwch â gyrru nes ei fod wedi cael ei atgyweirio";
-
+ public static final String PRS_DEFECTS_HEADER_TEXT_WELSH_CVS = "Diffygion wedi'u cywiro ar adeg y prawf";
//CVS only
public static final String PRS_DEFECTS_HEADER_TEXT = "Monitor and repair if necessary (advisories)";
diff --git a/src/test/java/htmlverification/service/CvsCertificateTestDataProvider.java b/src/test/java/htmlverification/service/CvsCertificateTestDataProvider.java
index 23028c5a..f163eb4e 100644
--- a/src/test/java/htmlverification/service/CvsCertificateTestDataProvider.java
+++ b/src/test/java/htmlverification/service/CvsCertificateTestDataProvider.java
@@ -281,7 +281,9 @@ public static VTP30W getVtp30w() {
.setDangerousDefectsWelsh(generateRFRs(DANGEROUS_RFR_TEXT, 1))
.setMajorDefectsHeader(DefectSummaryComponent.MAJOR_DEFECTS_HEADER_TEXT_WELSH)
.setDangerousDefectsHeader(DefectSummaryComponent.DANGEROUS_DEFECTS_HEADER_PARTIAL_TEXT_WELSH_CVS)
- .setPrsDefects(generateRFRs(PRS_RFR_TEXT, 1));
+ .setPrsDefects(generateRFRs(PRS_RFR_TEXT, 1))
+ .setMajorDefects(generateRFRs(MAJOR_RFR_TEXT, 1))
+ .setDangerousDefects(generateRFRs(DANGEROUS_RFR_TEXT, 1));
vtp30.setFailData(vtp30Data);
@@ -626,6 +628,84 @@ public static CvsTrlPassBilingual getCvsTrlPassBilingual() {
return trlPassBilingual;
}
+ public static CvsTrlPRSBilingual getCvsTrlPrsBilingual() {
+ CvsTrlPRSBilingual trlPrsBilingual = new CvsTrlPRSBilingual();
+ trlPrsBilingual.setDocumentName(CertificateTypes.CVS_TRL_PRS_BILINGUAL.getCertificateType());
+ CvsMotFailCertificateDataWelsh failData = new CvsMotFailCertificateDataWelsh();
+ CvsMotCertificateDataWelsh passData = new CvsMotCertificateDataWelsh();
+
+ passData
+ .setMinorDefectsWelsh(generateRFRs(MINOR_RFR_TEXT, 1))
+ .setAdvisoryDefectsWelsh(generateRFRs(ADVISORY_RFR_TEXT, 1))
+ .setMinorDefectsHeader(DefectSummaryComponent.MINOR_DEFECTS_HEADER_TEXT_WELSH_CVS)
+ .setAdvisoryDefectsHeader(DefectSummaryComponent.ADVISORIES_HEADER_TEXT_WELSH_CVS)
+ .setMinorDefects(generateRFRs(MINOR_RFR_TEXT, 1))
+ .setAdvisoryDefects(generateRFRs(ADVISORY_RFR_TEXT, 1))
+ .setCurrentOdometer(
+ new CvsOdometerReading("22341", "mi", "01.02.2019")
+ )
+ .setOdometerHistoryList(Arrays.asList(
+ new CvsOdometerReading("120", "km", "01.02.2016"),
+ new CvsOdometerReading("330", "km", "30.01.2017")
+ ))
+ .setCountryOfRegistrationCode("GB")
+ .setRawVin(VIN)
+ .setDateOfTheTest("12.11.2018")
+ .setExpiryDate("12.10.2018")
+ .setTestStationPNumber("P12345")
+ .setTestStationName("TEST STATION NAME")
+ .setMake("Aston Martin")
+ .setModel("DB11")
+ .setIssuersName("R.DREWNO")
+ .setTestStationName("POPULAR GARAGES")
+ .setTestNumber("1806 8140 0628")
+ .setEarliestDateOfTheNextTest("13.10.2018")
+ .setTrn("ABC1234")
+ .setIsTrailer(true);
+
+ failData
+ .setPrsDefectsHeaderWelsh(DefectSummaryComponent.PRS_DEFECTS_HEADER_TEXT_WELSH_CVS)
+ .setPrsDefectsWelsh(generateRFRs(PRS_RFR_TEXT, 1))
+ .setPrsDefects(generateRFRs(PRS_RFR_TEXT, 1))
+ .setSeatBeltNumber("10")
+ .setSeatBeltPreviousCheckDate("12.11.2018")
+ .setSeatBeltTested("Yes")
+ .setCountryOfRegistrationCode("GB")
+ .setRawVin(VIN)
+ .setDateOfTheTest("12.11.2018")
+ .setExpiryDate("12.10.2018")
+ .setMake("MERCEDES")
+ .setModel("Z WAGON")
+ .setVehicleEuClassification("M1")
+ .setRawVrm("KA1SAPH")
+ .setCurrentOdometer(
+ new CvsOdometerReading("20000", "mi", "22.08.2023")
+ )
+ .setOdometerHistoryList(Arrays.asList(
+ new CvsOdometerReading("12000", "mi", "13.08.2022"),
+ new CvsOdometerReading("7000", "mi", "02.08.2021")
+ ))
+ .setIssuersName("TESTER NAME")
+ .setTestStationName("TEST STATION NAME")
+ .setTestStationPNumber("P12345")
+ .setTestNumber("X01X00001")
+ .setEarliestDateOfTheNextTest("01.07.2024")
+ .setTrn("ABC1234")
+ .setIsTrailer(true);
+ trlPrsBilingual.setFailData(failData);
+
+ Signature signature = new Signature();
+ signature
+ .setImageData("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==")
+ .setImageType("png");
+
+ trlPrsBilingual.setSignature(signature);
+ trlPrsBilingual.setData(passData);
+ trlPrsBilingual.setData(passData);
+
+ return trlPrsBilingual;
+ }
+
public static CvsHgvTrlFailBilingual getCvsHgvTrlFailBilingual() {
CvsHgvTrlFailBilingual hgvFailBilingual = new CvsHgvTrlFailBilingual();
hgvFailBilingual.setDocumentName(CertificateTypes.CVS_HGV_TRL_FAIL_BILINGUAL.getCertificateType());
@@ -679,7 +759,81 @@ public static CvsHgvTrlFailBilingual getCvsHgvTrlFailBilingual() {
hgvFailBilingual.setSignature(signature);
return hgvFailBilingual;
- };
+ }
+
+ public static CvsHgvPRSBilingual getCvsHgvPRSBilingual() {
+ CvsHgvPRSBilingual hgvPRSBilingual = new CvsHgvPRSBilingual();
+ hgvPRSBilingual.setDocumentName(CertificateTypes.CVS_HGV_PRS_BILINGUAL.getCertificateType());
+
+ CvsMotFailCertificateDataWelsh bilingualFailData = new CvsMotFailCertificateDataWelsh();
+ bilingualFailData
+ .setPrsDefectsHeaderWelsh(DefectSummaryComponent.PRS_DEFECTS_HEADER_TEXT_WELSH_CVS)
+ .setPrsDefectsWelsh(generateRFRs(PRS_RFR_TEXT, 1))
+ .setPrsDefects(generateRFRs(PRS_RFR_TEXT, 1))
+ .setSeatBeltNumber("10")
+ .setSeatBeltPreviousCheckDate("12.11.2018")
+ .setSeatBeltTested("Yes")
+ .setCountryOfRegistrationCode("GB")
+ .setRawVin(VIN)
+ .setDateOfTheTest("22.08.2023")
+ .setExpiryDate("31.08.2024")
+ .setTestStationPNumber("P12345")
+ .setTestStationName("TEST STATION NAME")
+ .setMake("Aston Martin")
+ .setModel("DB11")
+ .setVehicleEuClassification("M1")
+ .setRawVrm("KA1SAPH")
+ .setCurrentOdometer(
+ new CvsOdometerReading("20000", "km", "22.08.2023")
+ )
+ .setOdometerHistoryList(Arrays.asList(
+ new CvsOdometerReading("12000", "km", "13.08.2022"),
+ new CvsOdometerReading("7000", "km", "02.08.2021")
+ )
+ )
+ .setIssuersName("TESTER NAME")
+ .setTestStationName("TEST STATION NAME")
+ .setTestNumber("X01X00001")
+ .setEarliestDateOfTheNextTest("01.07.2024")
+ .setTrn(null)
+ .setIsTrailer(false);
+
+ CvsMotCertificateDataWelsh bilingualData = new CvsMotCertificateDataWelsh();
+ bilingualData
+ .setMinorDefectsWelsh(generateRFRs(MINOR_RFR_TEXT, 1))
+ .setAdvisoryDefectsWelsh(generateRFRs(ADVISORY_RFR_TEXT, 1))
+ .setMinorDefectsHeader(DefectSummaryComponent.MINOR_DEFECTS_HEADER_TEXT_WELSH_CVS)
+ .setAdvisoryDefectsHeader(DefectSummaryComponent.ADVISORIES_HEADER_TEXT_WELSH_CVS)
+ .setMinorDefects(generateRFRs(MINOR_RFR_TEXT, 1))
+ .setAdvisoryDefects(generateRFRs(ADVISORY_RFR_TEXT, 1))
+ .setCountryOfRegistrationCode("GB")
+ .setRawVin(VIN)
+ .setDateOfTheTest("22.08.2023")
+ .setExpiryDate("31.08.2024")
+ .setTestStationPNumber("P12345")
+ .setTestStationName("TEST STATION NAME")
+ .setMake("Aston Martin")
+ .setModel("DB11")
+ .setVehicleEuClassification("M1")
+ .setRawVrm("KA15APH")
+ .setCurrentOdometer(
+ new CvsOdometerReading("20000", "km", "22.08.2023")
+ )
+ .setOdometerHistoryList(Arrays.asList(
+ new CvsOdometerReading("12000", "km", "13.08.2022"),
+ new CvsOdometerReading("7000", "km", "02.08.2021")
+ )
+ )
+ .setIssuersName("TESTER NAME")
+ .setTestStationName("TEST STATION NAME")
+ .setTestNumber("X01X00001")
+ .setEarliestDateOfTheNextTest("01.07.2024");
+
+ hgvPRSBilingual.setFailData(bilingualFailData);
+ hgvPRSBilingual.setData(bilingualData);
+
+ return hgvPRSBilingual;
+ }
public static VTP30Bilingual getVtp30Bilingual() {
VTP30Bilingual hgvFailBilingual = new VTP30Bilingual();
@@ -965,6 +1119,15 @@ public static VTG30W getVTG30WHavingInvalidXMLCharacter() {
return document;
}
+ public static CvsHgvPRSBilingual getCvsHgvPRSBilingualHavingInvalidXMLCharacter() {
+ CvsHgvPRSBilingual document = getCvsHgvPRSBilingual();
+
+ CvsMotFailCertificateData data = document.getFailData();
+ data.setPrsDefects(generateRFRs(INVALID_XML_RFR_TEXT, 3));
+
+ return document;
+ }
+
private static List generateRFRs(String rfrName, int numberOfRfrs) {
List reasonsForRejection = new ArrayList<>();
@@ -972,4 +1135,23 @@ private static List generateRFRs(String rfrName, int numberOfRfrs) {
reasonsForRejection.add(rfrName + " #" + i); }
return reasonsForRejection;
}
+
+ public static CvsPsvPRSBilingual getCvsPsvPRSBilingual() {
+ CvsPsvPRSBilingual cvsPsvPRSBilingual = new CvsPsvPRSBilingual();
+ cvsPsvPRSBilingual.setDocumentName(CertificateTypes.CVS_PSV_PRS_BILINGUAL.getCertificateType());
+
+ cvsPsvPRSBilingual.setData(getVtp20W().getData());
+ cvsPsvPRSBilingual.setFailData(getVtp30w().getFailData());
+
+ return cvsPsvPRSBilingual;
+ }
+
+ public static CvsMotCertificate getCvsPsvPRSBilingualHavingInvalidXMLCharacter() {
+ CvsPsvPRSBilingual document = getCvsPsvPRSBilingual();
+
+ CvsMotFailCertificateData data = document.getFailData();
+ data.setPrsDefects(generateRFRs(INVALID_XML_RFR_TEXT, 3));
+
+ return document;
+ }
}
diff --git a/src/test/java/htmlverification/tests/CvsHgvPRSBilingualTest.java b/src/test/java/htmlverification/tests/CvsHgvPRSBilingualTest.java
new file mode 100644
index 00000000..31365c7c
--- /dev/null
+++ b/src/test/java/htmlverification/tests/CvsHgvPRSBilingualTest.java
@@ -0,0 +1,247 @@
+package htmlverification.tests;
+
+import com.github.jknack.handlebars.Handlebars;
+import htmlverification.framework.page_object.CertificatePageObject;
+import htmlverification.service.CvsCertificateTestDataProvider;
+import org.junit.Before;
+import org.junit.Test;
+import uk.gov.dvsa.model.cvs.CvsHgvPRSBilingual;
+import uk.gov.dvsa.service.HtmlGenerator;
+
+import java.io.IOException;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateData.PASS_SUMMARY_HEADER;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateData.PASS_WITH_DEFECTS_HEADER;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateDataWelsh.PASS_SUMMARY_HEADER_WELSH;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateDataWelsh.PASS_WITH_DEFECTS_HEADER_WELSH;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotFailCertificateData.FAILED_SUMMARY_HEADER;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotFailCertificateDataWelsh.FAILED_SUMMARY_HEADER_WELSH;
+import static uk.gov.dvsa.model.mot.results.Summary.EU_NUMBER_SUMMARY_HEADER;
+
+public class CvsHgvPRSBilingualTest {
+
+ protected HtmlGenerator htmlGenerator;
+ protected CvsHgvPRSBilingual testCertificate;
+ protected CertificatePageObject certificatePageObjectVTG5;
+ protected CertificatePageObject certificatePageObjectVTG30;
+
+ protected CertificatePageObject certificatePageObjectVTG5W;
+ protected CertificatePageObject certificatePageObjectVTG30W;
+
+ public CvsHgvPRSBilingualTest() {
+ this.htmlGenerator = new HtmlGenerator(new Handlebars());
+ }
+
+ @Before
+ public void setup() throws IOException {
+ testCertificate = CvsCertificateTestDataProvider.getCvsHgvPRSBilingual();
+
+ String certHtmlVTG5 = htmlGenerator.generate(testCertificate).get(0);
+ String certHtmlVTG30 = htmlGenerator.generate(testCertificate).get(1);
+ String certHtmlVTV5W = htmlGenerator.generate(testCertificate).get(2);
+ String certHtmlVTG30W = htmlGenerator.generate(testCertificate).get(3);
+
+ certificatePageObjectVTG5 = new CertificatePageObject(certHtmlVTG5);
+ certificatePageObjectVTG30 = new CertificatePageObject(certHtmlVTG30);
+ certificatePageObjectVTG5W = new CertificatePageObject(certHtmlVTV5W);
+ certificatePageObjectVTG30W = new CertificatePageObject(certHtmlVTG30W);
+ }
+
+ @Test
+ public void verifyResultSummaries() {
+ String resultName = certificatePageObjectVTG5.getDefectSummaryComponent().getResultNameItem().text();
+ String resultNameFail = certificatePageObjectVTG30.getDefectSummaryComponent().getResultNameItem().text();
+ String resultNameWelsh = certificatePageObjectVTG5W.getDefectSummaryComponent().getResultNameItem().text();
+ String resultNameFailWelsh = certificatePageObjectVTG30W.getDefectSummaryComponent().getResultNameItem().text();
+
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", PASS_WITH_DEFECTS_HEADER),
+ resultName
+ );
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", FAILED_SUMMARY_HEADER),
+ resultNameFail
+ );
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", PASS_WITH_DEFECTS_HEADER_WELSH),
+ resultNameWelsh
+ );
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", FAILED_SUMMARY_HEADER_WELSH),
+ resultNameFailWelsh
+ );
+ }
+
+ @Test
+ public void verifyVin() {
+ String vin = certificatePageObjectVTG5.getVin();
+ String vinFail = certificatePageObjectVTG30.getVin();
+ String vinWelsh = certificatePageObjectVTG5W.getVin();
+ String vinFailWelsh = certificatePageObjectVTG30W.getVin();
+
+ assertEquals(testCertificate.getData().getRawVin(), vin);
+ assertEquals(testCertificate.getFailData().getRawVin(), vinFail);
+ assertEquals(testCertificate.getData().getRawVin(), vinWelsh);
+ assertEquals(testCertificate.getFailData().getRawVin(), vinFailWelsh);
+ }
+
+ @Test
+ public void verifyCountryOfRegistration() {
+ String country = certificatePageObjectVTG5.getCountryOfRegistration();
+ String countryFail = certificatePageObjectVTG30.getCountryOfRegistration();
+ String countryWelsh = certificatePageObjectVTG5W.getCountryOfRegistration();
+ String countryFailWelsh = certificatePageObjectVTG30W.getCountryOfRegistration();
+
+ assertEquals(testCertificate.getData().getCountryOfRegistrationCode(), country);
+ assertEquals(testCertificate.getFailData().getCountryOfRegistrationCode(), countryFail);
+ assertEquals(testCertificate.getData().getCountryOfRegistrationCode(), countryWelsh);
+ assertEquals(testCertificate.getFailData().getCountryOfRegistrationCode(), countryFailWelsh);
+ }
+
+ @Test
+ public void verifyMakeAndModel() {
+ String makeAndModel = certificatePageObjectVTG5.getMakeAndModel();
+ String makeAndModelFail = certificatePageObjectVTG30.getMakeAndModel();
+ String makeAndModelWelsh = certificatePageObjectVTG5W.getMakeAndModel();
+ String makeAndModelFailWelsh = certificatePageObjectVTG30W.getMakeAndModel();
+
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getData().getMake(), ",", testCertificate.getData().getModel()),
+ makeAndModel
+ );
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getFailData().getMake(), ",", testCertificate.getFailData().getModel()),
+ makeAndModelFail
+ );
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getData().getMake(), ",", testCertificate.getData().getModel()),
+ makeAndModelWelsh
+ );
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getFailData().getMake(), ",", testCertificate.getFailData().getModel()),
+ makeAndModelFailWelsh
+ );
+ }
+
+ @Test
+ public void verifyVehicleCategory() {
+ String vehicleCategory = certificatePageObjectVTG5.getVehicleCategory();
+ String vehicleCategoryFail = certificatePageObjectVTG30.getVehicleCategory();
+ String vehicleCategoryWelsh = certificatePageObjectVTG5W.getVehicleCategory();
+ String vehicleCategoryFailWelsh = certificatePageObjectVTG30W.getVehicleCategory();
+
+ assertEquals(testCertificate.getData().getVehicleEuClassification(), vehicleCategory);
+ assertEquals(testCertificate.getFailData().getVehicleEuClassification(), vehicleCategoryFail);
+ assertEquals(testCertificate.getData().getVehicleEuClassification(), vehicleCategoryWelsh);
+ assertEquals(testCertificate.getFailData().getVehicleEuClassification(), vehicleCategoryFailWelsh);
+ }
+
+ @Test
+ public void verifyMileage() {
+ String mileage = certificatePageObjectVTG5.getMileage();
+ String mileageFail = certificatePageObjectVTG30.getMileage();
+ String mileageWelsh = certificatePageObjectVTG5W.getMileage();
+ String mileageFailWelsh = certificatePageObjectVTG30W.getMileage();
+
+ assertEquals(testCertificate.getData().getFormattedCurrentOdometer(), mileage);
+ assertEquals(testCertificate.getFailData().getFormattedCurrentOdometer(), mileageFail);
+ assertEquals("20,000 cilometrau", mileageWelsh);
+ assertEquals("20,000 cilometrau", mileageFailWelsh);
+ }
+
+ @Test
+ public void verifyPrsDefects() {
+ List prsDefects = certificatePageObjectVTG5.getDefectSummaryComponent().getPrsDefects().eachText();
+ }
+
+ @Test
+ public void verifyAdvisoryDefects() {
+ List advisoryDefects = certificatePageObjectVTG5.getDefectSummaryComponent().getAdvisories().eachText();
+ assertEquals(1, advisoryDefects.size());
+ }
+
+ @Test
+ public void verifyAdvisoryDefectsWelsh() {
+ List advisoryDefects = certificatePageObjectVTG5W.getDefectSummaryComponent().getAdvisoriesWelshCVS().eachText();
+ assertEquals(1, advisoryDefects.size());
+ }
+
+ @Test
+ public void verifyMinorDefects() {
+ List minorDefects = certificatePageObjectVTG5.getDefectSummaryComponent().getMinorDefects().eachText();
+ assertEquals(1, minorDefects.size());
+ }
+
+ @Test
+ public void verifyMinorDefectsWelsh() {
+ List minorDefects = certificatePageObjectVTG5W.getDefectSummaryComponent().getMinorDefectsWelshCVS().eachText();
+ assertEquals(1, minorDefects.size());
+ }
+
+ @Test
+ public void verifyDateOfTheTest() {
+ String dateOfTheTest = certificatePageObjectVTG5.getDateOfTheTest();
+ String dateOfTheTestFail = certificatePageObjectVTG30.getDateOfTheTest();
+ String dateOfTheTestWelsh = certificatePageObjectVTG5W.getDateOfTheTest();
+ String dateOfTheTestFailWelsh = certificatePageObjectVTG30W.getDateOfTheTest();
+
+ assertEquals(testCertificate.getData().getDateOfTheTest(), dateOfTheTest);
+ assertEquals(testCertificate.getFailData().getDateOfTheTest(), dateOfTheTestFail);
+ assertEquals(testCertificate.getData().getDateOfTheTest(), dateOfTheTestWelsh);
+ assertEquals(testCertificate.getFailData().getDateOfTheTest(), dateOfTheTestFailWelsh);
+ }
+
+ @Test
+ public void verifyLocationOfTheTest() {
+ String locationOfTheTest = certificatePageObjectVTG5.getLocationOfTheTest();
+ String locationOfTheTestFail = certificatePageObjectVTG30.getLocationOfTheTest();
+ String locationOfTheTestWelsh = certificatePageObjectVTG5W.getLocationOfTheTest();
+ String locationOfTheTestFailWelsh = certificatePageObjectVTG30W.getLocationOfTheTest();
+
+ String pNumber = testCertificate.getData().getTestStationPNumber();
+ String testStationName = testCertificate.getData().getTestStationName();
+
+ String pNumberFail = testCertificate.getFailData().getTestStationPNumber();
+ String testStationNameFail = testCertificate.getFailData().getTestStationName();
+
+ assertEquals(pNumber + ", " + testStationName, locationOfTheTest);
+ assertEquals(pNumberFail + ", " + testStationNameFail, locationOfTheTestFail);
+ assertEquals(pNumber + ", " + testStationName, locationOfTheTestWelsh);
+ assertEquals(pNumberFail + ", " + testStationNameFail, locationOfTheTestFailWelsh);
+ }
+
+ @Test
+ public void verifyTestingOrganisationAndInspectorName() {
+ String orgName = certificatePageObjectVTG5.getTestingOrganisationAndInspectorsName();
+ String orgNameFail = certificatePageObjectVTG30.getTestingOrganisationAndInspectorsName();
+ String orgNameWelsh = certificatePageObjectVTG5W.getTestingOrganisationAndInspectorsName();
+ String orgNameFailWelsh = certificatePageObjectVTG30W.getTestingOrganisationAndInspectorsName();
+
+ String organisation = testCertificate.getData().getTestingOrganisation();
+ String organisationFail = testCertificate.getFailData().getTestingOrganisation();
+ String organisationWelsh = testCertificate.getFailData().getTestingOrganisationWelsh();
+
+ String testerName = testCertificate.getData().getIssuersName();
+ String testerNameFail = testCertificate.getFailData().getIssuersName();
+
+ assertEquals(organisation + " " + testerName, orgName);
+ assertEquals(organisationFail + " " + testerNameFail, orgNameFail);
+ assertEquals(organisationWelsh + " " + testerName, orgNameWelsh);
+ assertEquals(organisationWelsh + " " + testerNameFail, orgNameFailWelsh);
+ }
+
+ @Test
+ public void verifyMotTestNumber() {
+ String testNumber = certificatePageObjectVTG5.getTestNumber();
+ String testNumberFail = certificatePageObjectVTG30.getTestNumber();
+ String testNumberWelsh = certificatePageObjectVTG5W.getTestNumber();
+ String testNumberFailWelsh = certificatePageObjectVTG30W.getTestNumber();
+
+ assertEquals(testCertificate.getData().getTestNumber(), testNumber);
+ assertEquals(testCertificate.getFailData().getTestNumber(), testNumberFail);
+ assertEquals(testCertificate.getData().getTestNumber(), testNumberWelsh);
+ assertEquals(testCertificate.getFailData().getTestNumber(), testNumberFailWelsh);
+ }
+}
diff --git a/src/test/java/htmlverification/tests/CvsPsvPrsBilingualTest.java b/src/test/java/htmlverification/tests/CvsPsvPrsBilingualTest.java
new file mode 100644
index 00000000..fb124163
--- /dev/null
+++ b/src/test/java/htmlverification/tests/CvsPsvPrsBilingualTest.java
@@ -0,0 +1,204 @@
+package htmlverification.tests;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.jknack.handlebars.Handlebars;
+import htmlverification.framework.page_object.CertificatePageObject;
+import htmlverification.service.CvsCertificateTestDataProvider;
+import org.junit.Before;
+import org.junit.Test;
+import uk.gov.dvsa.model.cvs.CvsPsvPRSBilingual;
+import uk.gov.dvsa.service.HtmlGenerator;
+
+import java.io.IOException;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateData.PASS_WITH_DEFECTS_HEADER;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateDataWelsh.PASS_WITH_DEFECTS_HEADER_WELSH;
+import static uk.gov.dvsa.model.mot.results.Summary.EU_NUMBER_SUMMARY_HEADER;
+
+public class CvsPsvPrsBilingualTest {
+ protected HtmlGenerator htmlGenerator;
+ protected CvsPsvPRSBilingual testCertificate;
+ protected CertificatePageObject certificatePageObjectVTP20;
+ protected CertificatePageObject certificatePageObjectVTP30;
+ protected CertificatePageObject certificatePageObjectVTP20Welsh;
+ protected CertificatePageObject certificatePageObjectVTP30Welsh;
+
+ public CvsPsvPrsBilingualTest() {
+ this.htmlGenerator = new HtmlGenerator(new Handlebars());
+ }
+
+ @Before
+ public void setup() throws IOException {
+ testCertificate = CvsCertificateTestDataProvider.getCvsPsvPRSBilingual();
+ String certHtmlVTP20 = htmlGenerator.generate(testCertificate).get(0);
+ String certHtmlVTP30 = htmlGenerator.generate(testCertificate).get(1);
+ String certHtmlVTP20Welsh = htmlGenerator.generate(testCertificate).get(2);
+ String certHtmlVTP30Welsh = htmlGenerator.generate(testCertificate).get(3);
+
+ certificatePageObjectVTP20 = new CertificatePageObject(certHtmlVTP20);
+ certificatePageObjectVTP30 = new CertificatePageObject(certHtmlVTP30);
+ certificatePageObjectVTP20Welsh = new CertificatePageObject(certHtmlVTP20Welsh);
+ certificatePageObjectVTP30Welsh = new CertificatePageObject(certHtmlVTP30Welsh);
+ }
+
+ @Test
+ public void verifyResultSummaries() {
+ String resultName = certificatePageObjectVTP20.getDefectSummaryComponent().getResultNameItem().text();
+ String resultNameWelsh = certificatePageObjectVTP20Welsh.getDefectSummaryComponent().getResultNameItem().text();
+
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", PASS_WITH_DEFECTS_HEADER),
+ resultName);
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", PASS_WITH_DEFECTS_HEADER_WELSH),
+ resultNameWelsh);
+ }
+
+ @Test
+ public void verifyCountryOfRegistration() {
+ String vtp20CountryOfRegistration = certificatePageObjectVTP20.getCountryOfRegistration();
+ String vtp30CountryOfRegistration = certificatePageObjectVTP30.getCountryOfRegistration();
+ String vtp20WelshCountryOfRegistration = certificatePageObjectVTP20Welsh.getCountryOfRegistration();
+ String vtp30WelshCountryOfRegistration = certificatePageObjectVTP30Welsh.getCountryOfRegistration();
+
+ assertEquals(testCertificate.getData().getCountryOfRegistrationCode(), vtp20CountryOfRegistration);
+ assertEquals(testCertificate.getData().getCountryOfRegistrationCode(), vtp30CountryOfRegistration);
+ assertEquals(testCertificate.getFailData().getCountryOfRegistrationCode(), vtp20WelshCountryOfRegistration);
+ assertEquals(testCertificate.getFailData().getCountryOfRegistrationCode(), vtp30WelshCountryOfRegistration);
+ }
+
+ @Test
+ public void verifyMakeAndModel() {
+ String vtp20MakeAndModel = certificatePageObjectVTP20.getMakeAndModel();
+ String vtp30MakeAndModel = certificatePageObjectVTP30.getMakeAndModel();
+ String vtp20WelshMakeAndModel = certificatePageObjectVTP20Welsh.getMakeAndModel();
+ String vtp30WelshMakeAndModel = certificatePageObjectVTP30Welsh.getMakeAndModel();
+
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getData().getMake(), ",", testCertificate.getData().getModel()),
+ vtp20MakeAndModel
+ );
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getFailData().getMake(), ",", testCertificate.getFailData().getModel()),
+ vtp30MakeAndModel
+ );
+
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getData().getMake(), ",", testCertificate.getData().getModel()),
+ vtp20WelshMakeAndModel
+ );
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getFailData().getMake(), ",", testCertificate.getFailData().getModel()),
+ vtp30WelshMakeAndModel
+ );
+ }
+
+ @Test
+ public void verifyAdvisoryDefects() {
+ List vtp20AdvisoryDefects = certificatePageObjectVTP20.getDefectSummaryComponent().getAdvisories().eachText();
+ assertEquals(1, vtp20AdvisoryDefects.size());
+ }
+
+ @Test
+ public void verifyMinorDefects() {
+ List minorDefects = certificatePageObjectVTP20.getDefectSummaryComponent().getMinorDefects().eachText();
+ assertEquals(1, minorDefects.size());
+ }
+
+
+ @Test
+ public void verifyMajorDefects() {
+ List vtp30MajorDefects = certificatePageObjectVTP30.getDefectSummaryComponent().getMajorDefects().eachText();
+ assertEquals(1, vtp30MajorDefects.size());
+ }
+
+ @Test
+ public void verifyDangerousDefects() {
+ List vtp30DangerousDefects = certificatePageObjectVTP30.getDefectSummaryComponent().getDangerousDefects().eachText();
+ assertEquals(1, vtp30DangerousDefects.size());
+ }
+
+ @Test
+ public void verifyAdvisoryDefectsWelsh() {
+ List advisoryDefects = certificatePageObjectVTP30Welsh.getDefectSummaryComponent().getAdvisoriesWelshCVS().eachText();
+ assertEquals(1, advisoryDefects.size());
+ }
+
+ @Test
+ public void verifyMinorDefectsWelsh() {
+ List minorDefects = certificatePageObjectVTP30Welsh.getDefectSummaryComponent().getMinorDefectsWelshCVS().eachText();
+ assertEquals(1, minorDefects.size());
+ }
+
+ @Test
+ public void verifyMajorDefectsWelsh() {
+ List vtp30MajorDefects = certificatePageObjectVTP30Welsh.getDefectSummaryComponent().getMajorDefectsWelshCVS().eachText();
+ assertEquals(1, vtp30MajorDefects.size());
+ }
+
+ @Test
+ public void verifyDangerousDefectsWelsh() {
+ List vtp30DangerousDefects = certificatePageObjectVTP30Welsh.getDefectSummaryComponent().getDangerousDefectsWelshCVS().eachText();
+ assertEquals(1, vtp30DangerousDefects.size());
+ }
+
+ @Test
+ public void verifyDateOfTheTest() {
+ String vtp20DateOfTheTest = certificatePageObjectVTP20.getDateOfTheTest();
+ String vtp30DateOfTheTest = certificatePageObjectVTP30.getDateOfTheTest();
+ String vtp20WelshDateOfTheTest = certificatePageObjectVTP20Welsh.getDateOfTheTest();
+ String vtp30WelshDateOfTheTest = certificatePageObjectVTP30Welsh.getDateOfTheTest();
+
+ assertEquals("12.11.2018", vtp20DateOfTheTest);
+ assertEquals("12.11.2018", vtp30DateOfTheTest);
+ assertEquals("12.11.2018", vtp20WelshDateOfTheTest);
+ assertEquals("12.11.2018", vtp30WelshDateOfTheTest);
+ }
+
+ @Test
+ public void verifyLocationOfTheTest() {
+ String vtp20LocationOfTheTest = certificatePageObjectVTP20.getLocationOfTheTest();
+ String vtp30LocationOfTheTest = certificatePageObjectVTP30.getLocationOfTheTest();
+ String vtp20WelshLocationOfTheTest = certificatePageObjectVTP20Welsh.getLocationOfTheTest();
+ String vtp30WelshLocationOfTheTest = certificatePageObjectVTP30Welsh.getLocationOfTheTest();
+
+ assertEquals("P12345, POPULAR GARAGES", vtp20LocationOfTheTest);
+ assertEquals("P12345, POPULAR GARAGES", vtp30LocationOfTheTest);
+ assertEquals("P12345, POPULAR GARAGES", vtp20WelshLocationOfTheTest);
+ assertEquals("P12345, POPULAR GARAGES", vtp30WelshLocationOfTheTest);
+ }
+
+ @Test
+ public void verifyTestingOrganisationAndInspectorsName() {
+ String vtp20TestingOrganisationAndInspectorsName = certificatePageObjectVTP20.getTestingOrganisationAndInspectorsName();
+ String vtp30TestingOrganisationAndInspectorsName = certificatePageObjectVTP30.getTestingOrganisationAndInspectorsName();
+ String vtp20WelshTestingOrganisationAndInspectorsName = certificatePageObjectVTP20Welsh.getTestingOrganisationAndInspectorsName();
+ String vtp30WelshTestingOrganisationAndInspectorsName1 = certificatePageObjectVTP30Welsh.getTestingOrganisationAndInspectorsName();
+
+ assertEquals("DRIVER AND VEHICLE STANDARDS AGENCY R.DREWNO", vtp20TestingOrganisationAndInspectorsName);
+ assertEquals("DRIVER AND VEHICLE STANDARDS AGENCY R.DREWNO", vtp30TestingOrganisationAndInspectorsName);
+ assertEquals("ASIANTAETH SAFONAU GYRWYR A CHERBYDAU R.DREWNO", vtp20WelshTestingOrganisationAndInspectorsName);
+ assertEquals("ASIANTAETH SAFONAU GYRWYR A CHERBYDAU R.DREWNO", vtp30WelshTestingOrganisationAndInspectorsName1);
+ }
+
+ @Test
+ public void verifyMotTestNumber() {
+ String testNumber = certificatePageObjectVTP20.getTestNumber();
+ String testNumber2 = certificatePageObjectVTP30.getTestNumber();
+
+ assertEquals("1806 8140 0628", testNumber);
+ assertEquals("1806 8140 0628", testNumber2);
+ }
+
+ @Test
+ public void verifyExpiryDateOnPassIsPresent() {
+ String expiryDate = certificatePageObjectVTP20.getExpiryDate();
+ String expiryDateWelsh = certificatePageObjectVTP20Welsh.getExpiryDate();
+
+ assertEquals("12.10.2018", expiryDate);
+ assertEquals("12.10.2018", expiryDateWelsh);
+ }
+}
+
diff --git a/src/test/java/htmlverification/tests/CvsTrlPrsBilingualTest.java b/src/test/java/htmlverification/tests/CvsTrlPrsBilingualTest.java
new file mode 100644
index 00000000..94705904
--- /dev/null
+++ b/src/test/java/htmlverification/tests/CvsTrlPrsBilingualTest.java
@@ -0,0 +1,196 @@
+package htmlverification.tests;
+
+import com.github.jknack.handlebars.Handlebars;
+import htmlverification.framework.page_object.CertificatePageObject;
+import htmlverification.service.CvsCertificateTestDataProvider;
+import org.junit.Before;
+import org.junit.Test;
+import uk.gov.dvsa.model.cvs.CvsTrlPRSBilingual;
+import uk.gov.dvsa.service.HtmlGenerator;
+
+import java.io.IOException;
+import java.util.List;
+
+import static org.junit.Assert.assertEquals;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateData.PASS_WITH_DEFECTS_HEADER;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateDataWelsh.PASS_WITH_DEFECTS_HEADER_WELSH;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotFailCertificateData.FAILED_SUMMARY_HEADER;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotFailCertificateDataWelsh.FAILED_SUMMARY_HEADER_WELSH;
+import static uk.gov.dvsa.model.mot.results.Summary.EU_NUMBER_SUMMARY_HEADER;
+
+public class CvsTrlPrsBilingualTest {
+ protected HtmlGenerator htmlGenerator;
+ protected CvsTrlPRSBilingual testCertificate;
+ protected CertificatePageObject certificatePageObjectVTG5A;
+ protected CertificatePageObject certificatePageObjectVTG5AW;
+ protected CertificatePageObject certificatePageObjectVTG30;
+ protected CertificatePageObject certificatePageObjectVTG30W;
+
+ public CvsTrlPrsBilingualTest() {
+ this.htmlGenerator = new HtmlGenerator(new Handlebars());
+ }
+
+ @Before
+ public void setup() throws IOException {
+ testCertificate = CvsCertificateTestDataProvider.getCvsTrlPrsBilingual();
+
+ String certHtmlVTG5A = htmlGenerator.generate(testCertificate).get(0);
+ String certHtmlVTG5AW = htmlGenerator.generate(testCertificate).get(2);
+ String certHtmlVTG30 = htmlGenerator.generate(testCertificate).get(1);
+ String certHtmlVTG30W = htmlGenerator.generate(testCertificate).get(3);
+
+ certificatePageObjectVTG5A = new CertificatePageObject(certHtmlVTG5A);
+ certificatePageObjectVTG5AW = new CertificatePageObject(certHtmlVTG5AW);
+ certificatePageObjectVTG30 = new CertificatePageObject(certHtmlVTG30);
+ certificatePageObjectVTG30W = new CertificatePageObject(certHtmlVTG30W);
+ }
+
+ @Test
+ public void verifyResultSummaries() {
+ String resultNameVTG5A = certificatePageObjectVTG5A.getDefectSummaryComponent().getResultNameItem().text();
+ String resultNameVTG5AWelsh = certificatePageObjectVTG5AW.getDefectSummaryComponent().getResultNameItem().text();
+ String resultNameVTG30 = certificatePageObjectVTG30.getDefectSummaryComponent().getResultNameItem().text();
+ String resultNameVTG30Welsh = certificatePageObjectVTG30W.getDefectSummaryComponent().getResultNameItem().text();
+
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", PASS_WITH_DEFECTS_HEADER),
+ resultNameVTG5A);
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", PASS_WITH_DEFECTS_HEADER_WELSH),
+ resultNameVTG5AWelsh);
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", FAILED_SUMMARY_HEADER),
+ resultNameVTG30
+ );
+ assertEquals(
+ String.format("%s%s%s %s", "(", EU_NUMBER_SUMMARY_HEADER, ")", FAILED_SUMMARY_HEADER_WELSH),
+ resultNameVTG30Welsh
+ );
+ }
+
+ @Test
+ public void verifyCountryOfRegistration() {
+ String country = certificatePageObjectVTG5A.getCountryOfRegistration();
+ String country2 = certificatePageObjectVTG5AW.getCountryOfRegistration();
+ String country3 = certificatePageObjectVTG30.getCountryOfRegistration();
+ String country4 = certificatePageObjectVTG30W.getCountryOfRegistration();
+
+ assertEquals(testCertificate.getData().getCountryOfRegistrationCode(), country);
+ assertEquals(testCertificate.getData().getCountryOfRegistrationCode(), country2);
+ assertEquals(testCertificate.getData().getCountryOfRegistrationCode(), country3);
+ assertEquals(testCertificate.getData().getCountryOfRegistrationCode(), country4);
+ }
+
+ @Test
+ public void verifyMakeAndModel() {
+ String makeAndModel = certificatePageObjectVTG5A.getMakeAndModel();
+ String makeAndModel2 = certificatePageObjectVTG5AW.getMakeAndModel();
+ String makeAndModel3 = certificatePageObjectVTG30.getMakeAndModel();
+ String makeAndModel4 = certificatePageObjectVTG30W.getMakeAndModel();
+
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getData().getMake(), ",", testCertificate.getData().getModel()),
+ makeAndModel
+ );
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getData().getMake(), ",", testCertificate.getData().getModel()),
+ makeAndModel2
+ );
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getFailData().getMake(), ",", testCertificate.getFailData().getModel()),
+ makeAndModel3
+ );
+ assertEquals(
+ String.format("%s%s %s", testCertificate.getFailData().getMake(), ",", testCertificate.getFailData().getModel()),
+ makeAndModel4
+ );
+ }
+
+
+ @Test
+ public void verifyAdvisoryDefects() {
+ List advisoryDefects = certificatePageObjectVTG5A.getDefectSummaryComponent().getAdvisories().eachText();
+ assertEquals(1, advisoryDefects.size());
+ }
+
+ @Test
+ public void verifyMinorDefects() {
+ List minorDefects = certificatePageObjectVTG5A.getDefectSummaryComponent().getMinorDefects().eachText();
+ assertEquals(1, minorDefects.size());
+ }
+
+ @Test
+ public void verifyAdvisoryDefectsWelsh() {
+ List advisoryDefects = certificatePageObjectVTG5AW.getDefectSummaryComponent().getAdvisoriesWelshCVS().eachText();
+ assertEquals(1, advisoryDefects.size());
+ }
+
+ @Test
+ public void verifyMinorDefectsWelsh() {
+ List minorDefects = certificatePageObjectVTG5AW.getDefectSummaryComponent().getMinorDefectsWelshCVS().eachText();
+ assertEquals(1, minorDefects.size());
+ }
+
+ @Test
+ public void verifyDateOfTheTest() {
+ String dateOfTheTest = certificatePageObjectVTG5A.getDateOfTheTest();
+ String dateOfTheTest2 = certificatePageObjectVTG5AW.getDateOfTheTest();
+ String dateOfTheTest3 = certificatePageObjectVTG30.getDateOfTheTest();
+ String dateOfTheTest4 = certificatePageObjectVTG30W.getDateOfTheTest();
+
+ assertEquals("12.11.2018", dateOfTheTest);
+ assertEquals("12.11.2018", dateOfTheTest2);
+ assertEquals("12.11.2018", dateOfTheTest3);
+ assertEquals("12.11.2018", dateOfTheTest4);
+ }
+
+ @Test
+ public void verifyLocationOfTheTest() {
+ String location = certificatePageObjectVTG5A.getLocationOfTheTest();
+ String location2 = certificatePageObjectVTG5AW.getLocationOfTheTest();
+ String location3 = certificatePageObjectVTG30.getLocationOfTheTest();
+ String location4 = certificatePageObjectVTG30W.getLocationOfTheTest();
+
+ assertEquals("P12345, POPULAR GARAGES", location);
+ assertEquals("P12345, POPULAR GARAGES", location2);
+ assertEquals("P12345, TEST STATION NAME", location3);
+ assertEquals("P12345, TEST STATION NAME", location4);
+ }
+
+ @Test
+ public void verifyTestingOrganisationAndInspectorsName() {
+ String text = certificatePageObjectVTG5A.getTestingOrganisationAndInspectorsName();
+ String text2 = certificatePageObjectVTG5AW.getTestingOrganisationAndInspectorsName();
+ String text3 = certificatePageObjectVTG30.getTestingOrganisationAndInspectorsName();
+ String text4 = certificatePageObjectVTG30W.getTestingOrganisationAndInspectorsName();
+
+ assertEquals("DRIVER AND VEHICLE STANDARDS AGENCY R.DREWNO", text);
+ assertEquals("ASIANTAETH SAFONAU GYRWYR A CHERBYDAU R.DREWNO", text2);
+ assertEquals("DRIVER AND VEHICLE STANDARDS AGENCY TESTER NAME", text3);
+ assertEquals("ASIANTAETH SAFONAU GYRWYR A CHERBYDAU TESTER NAME", text4);
+ }
+
+ @Test
+ public void verifyMotTestNumber() {
+ String testNumber = certificatePageObjectVTG5A.getTestNumber();
+ String testNumber2 = certificatePageObjectVTG5AW.getTestNumber();
+ String testNumber3 = certificatePageObjectVTG30.getTestNumber();
+ String testNumber4 = certificatePageObjectVTG30W.getTestNumber();
+
+ assertEquals("1806 8140 0628", testNumber);
+ assertEquals("1806 8140 0628", testNumber2);
+ assertEquals("X01X00001", testNumber3);
+ assertEquals("X01X00001", testNumber4);
+ }
+
+ @Test
+ public void verifyExpiryDateOnPassIsPresent() {
+ String expiryDate = certificatePageObjectVTG5A.getExpiryDate();
+ String expiryDate2 = certificatePageObjectVTG5AW.getExpiryDate();
+
+ assertEquals("12.10.2018", expiryDate);
+ assertEquals("12.10.2018", expiryDate2);
+ }
+}
+
+
diff --git a/src/test/java/htmlverification/tests/IVA30Test.java b/src/test/java/htmlverification/tests/IVA30Test.java
index bdd9d856..2e2df295 100644
--- a/src/test/java/htmlverification/tests/IVA30Test.java
+++ b/src/test/java/htmlverification/tests/IVA30Test.java
@@ -86,7 +86,7 @@ public void verifyDate() {
@Test
public void verifyReapplicationDate() {
String reapplicationDate = ivaPageObject.getReapplicationDate();
- assertEquals("Reapplication required by: ".concat(testCertificate.getIvaData().getReapplicationDate()), reapplicationDate);
+ assertEquals("Reapplication required by:", reapplicationDate);
}
@Test
diff --git a/src/test/java/htmlverification/tests/MSVA30Test.java b/src/test/java/htmlverification/tests/MSVA30Test.java
index 817a7610..f236ec81 100644
--- a/src/test/java/htmlverification/tests/MSVA30Test.java
+++ b/src/test/java/htmlverification/tests/MSVA30Test.java
@@ -79,7 +79,7 @@ public void verifyDate() {
@Test
public void verifyRetestDate() {
String retestDate = msvaPageObject.getRetestDate();
- assertEquals("Retest required by: ".concat(testCertificate.getMsvaData().getRetestDate()), retestDate);
+ assertEquals("Reapplication required by:", retestDate);
}
@Test
diff --git a/src/test/java/pdfverification/tests/HgvPRSBilingualTests.java b/src/test/java/pdfverification/tests/HgvPRSBilingualTests.java
new file mode 100644
index 00000000..fda985f1
--- /dev/null
+++ b/src/test/java/pdfverification/tests/HgvPRSBilingualTests.java
@@ -0,0 +1,51 @@
+package pdfverification.tests;
+
+import com.github.jknack.handlebars.Handlebars;
+import com.itextpdf.text.pdf.PdfReader;
+import htmlverification.service.CvsCertificateTestDataProvider;
+import org.junit.Before;
+import org.junit.Test;
+import org.xhtmlrenderer.pdf.ITextRenderer;
+import pdfverification.service.PDFParser;
+import uk.gov.dvsa.model.cvs.CvsMotCertificate;
+import uk.gov.dvsa.service.HtmlGenerator;
+import uk.gov.dvsa.service.PDFGenerationService;
+
+import java.io.IOException;
+
+import static org.junit.Assert.assertTrue;
+
+public class HgvPRSBilingualTests {
+ private HtmlGenerator htmlGenerator;
+ private PDFGenerationService pdfGenerationService;
+ private CvsMotCertificate testCertificate;
+ private PDFParser pdfParser;
+ private PdfReader pdfReader;
+
+ public HgvPRSBilingualTests() {
+ this.testCertificate = CvsCertificateTestDataProvider.getCvsHgvPRSBilingual();
+ this.htmlGenerator = new HtmlGenerator(new Handlebars());
+ this.pdfGenerationService = new PDFGenerationService(new ITextRenderer());
+ this.pdfParser = new PDFParser();
+ }
+
+ @Before
+ public void setup() throws Exception {
+ byte[] pdfData = pdfGenerationService.generate(htmlGenerator.generate(testCertificate));
+ pdfReader = pdfParser.readPdf(pdfData);
+ }
+
+ @Test
+ public void verifyTitle() throws IOException {
+ assertTrue(pdfParser.getRawText(pdfReader, 1).contains("MOT test certificate (HGV)"));
+ assertTrue(pdfParser.getRawText(pdfReader, 2).contains("Refusal of MOT test certificate"));
+ assertTrue(pdfParser.getRawText(pdfReader, 3).contains("Tystysgrif prawf MOT (HGV)"));
+ assertTrue(pdfParser.getRawText(pdfReader, 4).contains("Gwrthod tystysgrif prawf MOT"));
+ }
+
+ @Test
+ public void verifySinglePageWithInvalidXMLCharacter() throws Exception {
+ this.testCertificate = CvsCertificateTestDataProvider.getCvsHgvPRSBilingualHavingInvalidXMLCharacter();
+ pdfParser.getRawText(pdfReader, 1);
+ }
+}
diff --git a/src/test/java/pdfverification/tests/IVA30Tests.java b/src/test/java/pdfverification/tests/IVA30Tests.java
index aa113f43..cf44e8f7 100644
--- a/src/test/java/pdfverification/tests/IVA30Tests.java
+++ b/src/test/java/pdfverification/tests/IVA30Tests.java
@@ -18,7 +18,7 @@
public class IVA30Tests {
private static final String CERT_NAME = "INDIVIDUAL VEHICLE APPROVAL (IVA)";
private static final String FOOTER_DOC_NAME = "IVA30VTA (DVSA0842)";
- private static final String FOOTER_VERSION_DATE = "Version 1.0 Apr 2024";
+ private static final String FOOTER_VERSION_DATE = "Version 1.1 June 2024";
private PDFGenerationService pdfGenerationService;
private HtmlGenerator htmlGenerator;
private PDFParser pdfParser;
diff --git a/src/test/java/pdfverification/tests/MSVA30Tests.java b/src/test/java/pdfverification/tests/MSVA30Tests.java
index 57b2dca1..f5d5ad87 100644
--- a/src/test/java/pdfverification/tests/MSVA30Tests.java
+++ b/src/test/java/pdfverification/tests/MSVA30Tests.java
@@ -21,7 +21,7 @@ public class MSVA30Tests {
private final String FOOTER_DOC_NAME = "MSVA30VTA (DVSA0848)";
- private final String FOOTER_VERSION_DATE = "Version 1.0 May 2024";
+ private final String FOOTER_VERSION_DATE = "Version 1.1 June 2024";
private PDFGenerationService pdfGenerationService;
private HtmlGenerator htmlGenerator;
diff --git a/src/test/java/pdfverification/tests/PsvPRSBilingualTests.java b/src/test/java/pdfverification/tests/PsvPRSBilingualTests.java
new file mode 100644
index 00000000..d7b86205
--- /dev/null
+++ b/src/test/java/pdfverification/tests/PsvPRSBilingualTests.java
@@ -0,0 +1,52 @@
+package pdfverification.tests;
+
+import com.github.jknack.handlebars.Handlebars;
+import com.itextpdf.text.pdf.PdfReader;
+import htmlverification.service.CvsCertificateTestDataProvider;
+import org.junit.Before;
+import org.junit.Test;
+import org.xhtmlrenderer.pdf.ITextRenderer;
+import pdfverification.service.PDFParser;
+import uk.gov.dvsa.model.cvs.CvsMotCertificate;
+import uk.gov.dvsa.service.HtmlGenerator;
+import uk.gov.dvsa.service.PDFGenerationService;
+
+import java.io.IOException;
+
+import static org.junit.Assert.assertTrue;
+
+public class PsvPRSBilingualTests {
+ private final HtmlGenerator htmlGenerator;
+ private final PDFGenerationService pdfGenerationService;
+ private CvsMotCertificate testCertificate;
+ private final PDFParser pdfParser;
+ private PdfReader pdfReader;
+
+ public PsvPRSBilingualTests() {
+ this.testCertificate = CvsCertificateTestDataProvider.getCvsPsvPRSBilingual();
+ this.htmlGenerator = new HtmlGenerator(new Handlebars());
+ this.pdfGenerationService = new PDFGenerationService(new ITextRenderer());
+ this.pdfParser = new PDFParser();
+ }
+
+ @Before
+ public void setup() throws Exception {
+ byte[] pdfData = pdfGenerationService.generate(htmlGenerator.generate(testCertificate));
+ pdfReader = pdfParser.readPdf(pdfData);
+ }
+
+ @Test
+ public void verifyTitle() throws IOException {
+ assertTrue(pdfParser.getRawText(pdfReader, 1).contains("MOT test certificate (PSV)"));
+ assertTrue(pdfParser.getRawText(pdfReader, 3).contains("Refusal of MOT test certificate"));
+ assertTrue(pdfParser.getRawText(pdfReader, 5).contains("Tystysgrif prawf MOT (PSV)"));
+ assertTrue(pdfParser.getRawText(pdfReader, 7).contains("Gwrthod tystysgrif prawf MOT"));
+ }
+
+ @Test
+ public void verifySinglePageWithInvalidXMLCharacter() throws Exception {
+ this.testCertificate = CvsCertificateTestDataProvider.getCvsPsvPRSBilingualHavingInvalidXMLCharacter();
+ pdfParser.getRawText(pdfReader, 1);
+ }
+}
+
diff --git a/src/test/java/pdfverification/tests/TrlPrsBilingual.java b/src/test/java/pdfverification/tests/TrlPrsBilingual.java
new file mode 100644
index 00000000..3e88ef13
--- /dev/null
+++ b/src/test/java/pdfverification/tests/TrlPrsBilingual.java
@@ -0,0 +1,65 @@
+package pdfverification.tests;
+
+import com.github.jknack.handlebars.Handlebars;
+import com.itextpdf.text.pdf.PdfReader;
+import htmlverification.service.CvsCertificateTestDataProvider;
+import org.junit.Before;
+import org.junit.Test;
+import org.xhtmlrenderer.pdf.ITextRenderer;
+import pdfverification.service.PDFParser;
+import uk.gov.dvsa.model.cvs.CvsMotCertificate;
+import uk.gov.dvsa.service.HtmlGenerator;
+import uk.gov.dvsa.service.PDFGenerationService;
+
+import java.io.IOException;
+
+import static htmlverification.framework.component.DefectSummaryComponent.*;
+import static org.junit.Assert.assertTrue;
+import static uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateDataWelsh.MINOR_DEFECTS_HEADER_WELSH;
+
+public class TrlPrsBilingual {
+ private final HtmlGenerator htmlGenerator;
+ private final PDFGenerationService pdfGenerationService;
+ private final CvsMotCertificate testCertificate;
+ private final PDFParser pdfParser;
+
+ private PdfReader pdfReader;
+
+ public TrlPrsBilingual() {
+ this.testCertificate = CvsCertificateTestDataProvider.getCvsTrlPrsBilingual();
+ this.htmlGenerator = new HtmlGenerator(new Handlebars());
+ this.pdfGenerationService = new PDFGenerationService(new ITextRenderer());
+ this.pdfParser = new PDFParser();
+ }
+
+ @Before
+ public void setup() throws Exception {
+ byte[] pdfData = pdfGenerationService.generate(htmlGenerator.generate(testCertificate));
+ pdfReader = pdfParser.readPdf(pdfData);
+ }
+
+ @Test
+ public void verifyEnglishTitles() throws IOException {
+ assertTrue(pdfParser.getRawText(pdfReader, 1).contains("MOT test certificate (TRL)"));
+ assertTrue(pdfParser.getRawText(pdfReader, 2).contains("Refusal of MOT test certificate"));
+ }
+
+ @Test
+ public void verifyWelshTitles() throws IOException {
+ assertTrue(pdfParser.getRawText(pdfReader, 3).contains("Tystysgrif prawf MOT (TRL)"));
+ assertTrue(pdfParser.getRawText(pdfReader, 4).contains("Gwrthod tystysgrif prawf MOT"));
+
+ }
+
+ @Test
+ public void verifyBilingualMinorDefectsHeader() throws Exception {
+ assertTrue(pdfParser.getRawText(pdfReader, 1).contains(MINOR_DEFECTS_HEADER_TEXT));
+ assertTrue(pdfParser.getRawText(pdfReader, 3).contains(MINOR_DEFECTS_HEADER_WELSH));
+ }
+
+ @Test
+ public void verifyBilingualAdvisoryDefectsHeader() throws Exception {
+ assertTrue(pdfParser.getRawText(pdfReader, 1).contains(ADVISORIES_HEADER_TEXT));
+ assertTrue(pdfParser.getRawText(pdfReader, 3).contains(ADVISORIES_HEADER_TEXT_WELSH));
+ }
+}
diff --git a/src/test/java/pdfverification/tests/VTG30WTests.java b/src/test/java/pdfverification/tests/VTG30WTests.java
index 097145a6..039541d6 100644
--- a/src/test/java/pdfverification/tests/VTG30WTests.java
+++ b/src/test/java/pdfverification/tests/VTG30WTests.java
@@ -45,7 +45,7 @@ public void verifyTitle() throws IOException {
}
@Test
- public void verifySinglePageWithInvaidXMLCharacter() throws Exception {
+ public void verifySinglePageWithInvalidXMLCharacter() throws Exception {
this.testCertificate = CvsCertificateTestDataProvider.getVTG30WHavingInvalidXMLCharacter();
pdfParser.getRawText(pdfReader, 1);
}
diff --git a/src/test/java/pdfverification/tests/VTP30WTests.java b/src/test/java/pdfverification/tests/VTP30WTests.java
index 5255fe19..835c524a 100644
--- a/src/test/java/pdfverification/tests/VTP30WTests.java
+++ b/src/test/java/pdfverification/tests/VTP30WTests.java
@@ -11,7 +11,6 @@
import uk.gov.dvsa.service.HtmlGenerator;
import uk.gov.dvsa.service.PDFGenerationService;
-import java.io.FileOutputStream;
import java.io.IOException;
import static htmlverification.framework.component.DefectSummaryComponent.*;
import static org.junit.Assert.assertTrue;