diff --git a/.g8/yesNoPage/generated-test/viewmodels/$className$FormProviderSpec.scala b/.g8/yesNoPage/generated-test/viewmodels/$className$FormProviderSpec.scala new file mode 100644 index 00000000..4642c6e9 --- /dev/null +++ b/.g8/yesNoPage/generated-test/viewmodels/$className$FormProviderSpec.scala @@ -0,0 +1,67 @@ +package viewmodels + +import base.SpecBase +import controllers.routes.$className$Controller +import pages.$className$Page +import play.api.Application +import play.api.i18n.Messages +import viewmodels.govuk.summarylist.* +import viewmodels.implicits.* + +class $className$SummarySpec extends SpecBase { + + lazy val app: Application = applicationBuilder().build() + + implicit val messages: Messages = this.messages(app) + + "$className$Summary" - { + + "must return None when the question has not been answered" in { + $className$Summary.row(emptyUserAnswers) mustBe None + } + + "must return the correct row when the answer is Yes" in { + val answers = + emptyUserAnswers + .set($className$Page, true) + .success + .value + + $className$Summary.row(answers).value mustBe + SummaryListRowViewModel( + key = "$className;format="decap"$.checkYourAnswersLabel", + value = ValueViewModel("site.yes"), + actions = Seq( + ActionItemViewModel( + "site.change", + $className$Controller.onPageLoad().url + ).withVisuallyHiddenText( + messages("$className;format="decap"$.change.hidden") + ) + ) + ) + } + + "must return the correct row when the answer is No" in { + val answers = + emptyUserAnswers + .set($className$Page, false) + .success + .value + + $className$Summary.row(answers).value mustBe + SummaryListRowViewModel( + key = "$className;format="decap"$.checkYourAnswersLabel", + value = ValueViewModel("site.no"), + actions = Seq( + ActionItemViewModel( + "site.change", + $className$Controller.onPageLoad().url + ).withVisuallyHiddenText( + messages("$className;format="decap"$.change.hidden") + ) + ) + ) + } + } +} diff --git a/.g8/yesNoPage/generated-test/views/$className$FormProviderSpec.scala b/.g8/yesNoPage/generated-test/views/$className$FormProviderSpec.scala new file mode 100644 index 00000000..dca960ea --- /dev/null +++ b/.g8/yesNoPage/generated-test/views/$className$FormProviderSpec.scala @@ -0,0 +1,71 @@ +package views + +import base.SpecBase +import forms.$className$FormProvider +import models.NormalMode +import org.jsoup.Jsoup +import org.jsoup.nodes.Document +import play.api.test.FakeRequest +import play.api.test.Helpers.running +import views.html.$className$View + +class $className$ViewSpec extends SpecBase { + + private val form = new $className$FormProvider()() + + "$className$View" - { + + "render the page correctly" in { + + val application = applicationBuilder().build() + + running(application) { + + val view = application.injector.instanceOf[$className$View] + + val html = view(form, NormalMode)(FakeRequest(), messages(application)) + + val document: Document = Jsoup.parse(html.toString) + + document.title() must include( + messages(application)("$className;format="decap"$.title") + ) + + document.select("h1").select(".govuk-fieldset__heading").text() mustEqual + messages(application)("$className;format="decap"$.heading") + + document.select("span").select(".govuk-caption-l").text() mustEqual + messages(application)("changeRegistrationDetails.caption") + + document.getElementById("value").attr("value") mustEqual "true" + + document.getElementById("value-no").attr("value") mustEqual "false" + + document.select(".govuk-button").text() mustEqual + messages(application)("site.continue") + } + } + + "render an error summary when there are form errors" in { + + val application = applicationBuilder().build() + + running(application) { + + val view = application.injector.instanceOf[$className$View] + + val boundForm = form.bind(Map("value" -> "")) + + val html = view(boundForm, NormalMode)(FakeRequest(), messages(application)) + + val document: Document = Jsoup.parse(html.toString) + + document.select(".govuk-error-summary").size() mustEqual 1 + + document.body().text() must include( + messages(application)("$className;format="decap"$.error.required") + ) + } + } + } +}