diff --git a/test/e2e/views-dir/app-rendering/next.config.js b/test/e2e/views-dir/app-rendering/next.config.js new file mode 100644 index 0000000000000..4131d5b608757 --- /dev/null +++ b/test/e2e/views-dir/app-rendering/next.config.js @@ -0,0 +1,8 @@ +module.exports = { + experimental: { + viewsDir: true, + runtime: 'nodejs', + reactRoot: true, + serverComponents: true, + }, +} diff --git a/test/e2e/views-dir/app-rendering/pages/.gitkeep b/test/e2e/views-dir/app-rendering/pages/.gitkeep new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/test/e2e/views-dir/app-rendering/views/getserversideprops-only/layout.server.js b/test/e2e/views-dir/app-rendering/views/getserversideprops-only/layout.server.js new file mode 100644 index 0000000000000..0dd5047f4bbb8 --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getserversideprops-only/layout.server.js @@ -0,0 +1,16 @@ +export async function getServerSideProps() { + return { + props: { + message: 'hello from layout', + }, + } +} + +export default function gsspLayout(props) { + return ( + <> +
{props.message}
+ > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getserversideprops-only/slow/index/page.server.js b/test/e2e/views-dir/app-rendering/views/getserversideprops-only/slow/index/page.server.js new file mode 100644 index 0000000000000..e639971eb019b --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getserversideprops-only/slow/index/page.server.js @@ -0,0 +1,16 @@ +export async function getServerSideProps() { + await new Promise((resolve) => setTimeout(resolve, 5000)) + return { + props: { + message: 'hello from slow page', + }, + } +} + +export default function nestedPage(props) { + return ( + <> +{props.message}
+ > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getserversideprops-only/slow/layout.server.js b/test/e2e/views-dir/app-rendering/views/getserversideprops-only/slow/layout.server.js new file mode 100644 index 0000000000000..a6793b38bcc8c --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getserversideprops-only/slow/layout.server.js @@ -0,0 +1,17 @@ +export async function getServerSideProps() { + await new Promise((resolve) => setTimeout(resolve, 5000)) + return { + props: { + message: 'hello from slow layout', + }, + } +} + +export default function gsspLayout(props) { + return ( + <> +{props.message}
+{props.nowDuringBuild}
+ > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/nested/layout.server.js b/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/nested/layout.server.js new file mode 100644 index 0000000000000..443bf17233cbd --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/nested/layout.server.js @@ -0,0 +1,18 @@ +export async function getServerSideProps() { + return { + props: { + message: 'hello from layout', + nowDuringExecution: Date.now(), + }, + } +} + +export default function gspLayout(props) { + return ( + <> +{props.nowDuringExecution}
+ {props.children} + > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/slow/index/page.server.js b/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/slow/index/page.server.js new file mode 100644 index 0000000000000..451fb50884463 --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/slow/index/page.server.js @@ -0,0 +1,18 @@ +export async function getStaticProps() { + await new Promise((resolve) => setTimeout(resolve, 5000)) + return { + props: { + message: 'hello from slow page', + nowDuringBuild: Date.now(), + }, + } +} + +export default function nestedPage(props) { + return ( + <> +{props.message}
+{props.nowDuringBuild}
+ > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/slow/layout.server.js b/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/slow/layout.server.js new file mode 100644 index 0000000000000..9407fe734e7b8 --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getstaticprops-getserversideprops-combined/slow/layout.server.js @@ -0,0 +1,19 @@ +export async function getServerSideProps() { + await new Promise((resolve) => setTimeout(resolve, 5000)) + return { + props: { + message: 'hello from slow layout', + nowDuringExecution: Date.now(), + }, + } +} + +export default function gspLayout(props) { + return ( + <> +{props.nowDuringExecution}
+ {props.children} + > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getstaticprops-isr-multiple/layout.server.js b/test/e2e/views-dir/app-rendering/views/getstaticprops-isr-multiple/layout.server.js new file mode 100644 index 0000000000000..67c77b7f321eb --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getstaticprops-isr-multiple/layout.server.js @@ -0,0 +1,19 @@ +export async function getStaticProps() { + return { + props: { + message: 'hello from layout', + now: Date.now(), + }, + revalidate: 1, + } +} + +export default function gspLayout(props) { + return ( + <> +{props.now}
+ {props.children} + > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getstaticprops-isr-multiple/nested/page.server.js b/test/e2e/views-dir/app-rendering/views/getstaticprops-isr-multiple/nested/page.server.js new file mode 100644 index 0000000000000..dd9f17ee6a864 --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getstaticprops-isr-multiple/nested/page.server.js @@ -0,0 +1,17 @@ +export async function getStaticProps() { + return { + props: { + message: 'hello from page', + now: Date.now(), + }, + revalidate: 1, + } +} +export default function nestedPage(props) { + return ( + <> +{props.message}
+{props.now}
+ > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getstaticprops-only/layout.server.js b/test/e2e/views-dir/app-rendering/views/getstaticprops-only/layout.server.js new file mode 100644 index 0000000000000..7dce7706415ba --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getstaticprops-only/layout.server.js @@ -0,0 +1,16 @@ +export async function getStaticProps() { + return { + props: { + message: 'hello from layout', + }, + } +} + +export default function gspLayout(props) { + return ( + <> +{props.message}
+ > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getstaticprops-only/slow/index/page.server.js b/test/e2e/views-dir/app-rendering/views/getstaticprops-only/slow/index/page.server.js new file mode 100644 index 0000000000000..0720e7268c0dd --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getstaticprops-only/slow/index/page.server.js @@ -0,0 +1,16 @@ +export async function getStaticProps() { + await new Promise((resolve) => setTimeout(resolve, 5000)) + return { + props: { + message: 'hello from slow page', + }, + } +} + +export default function nestedPage(props) { + return ( + <> +{props.message}
+ > + ) +} diff --git a/test/e2e/views-dir/app-rendering/views/getstaticprops-only/slow/layout.server.js b/test/e2e/views-dir/app-rendering/views/getstaticprops-only/slow/layout.server.js new file mode 100644 index 0000000000000..2a6bd7cc462a5 --- /dev/null +++ b/test/e2e/views-dir/app-rendering/views/getstaticprops-only/slow/layout.server.js @@ -0,0 +1,17 @@ +export async function getStaticProps() { + await new Promise((resolve) => setTimeout(resolve, 5000)) + return { + props: { + message: 'hello from slow layout', + }, + } +} + +export default function gspLayout(props) { + return ( + <> +