test: react
This commit is contained in:
parent
1b13374b10
commit
b205bcc18b
16
packages/react/test/provider.js
Normal file
16
packages/react/test/provider.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
import {expect} from 'chai';
|
||||
|
||||
import {withWeb} from '@flecks/headless/test/helpers/with-web';
|
||||
|
||||
it('implements react providers', withWeb(
|
||||
async ({page, response}) => {
|
||||
expect(response)
|
||||
.to.not.be.null;
|
||||
expect(response.ok())
|
||||
.to.be.true;
|
||||
const output = await page.waitForSelector('.provider-test');
|
||||
expect(await output?.evaluate((el) => el.textContent))
|
||||
.to.equal('foobar');
|
||||
},
|
||||
{template: 'templates/provider'},
|
||||
));
|
21
packages/react/test/ssr.js
Normal file
21
packages/react/test/ssr.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
import {expect} from 'chai';
|
||||
|
||||
import {withWeb} from '@flecks/headless/test/helpers/with-web';
|
||||
|
||||
it('does ssr', withWeb(
|
||||
async ({page, response}) => {
|
||||
expect(response)
|
||||
.to.not.be.null;
|
||||
expect(response.ok())
|
||||
.to.be.true;
|
||||
const output = await page.waitForSelector('.provider-test');
|
||||
expect(await output?.evaluate((el) => el.textContent))
|
||||
.to.equal('foobar');
|
||||
},
|
||||
{
|
||||
beforePage: async ({page}) => {
|
||||
await page.setJavaScriptEnabled(false);
|
||||
},
|
||||
template: 'templates/provider',
|
||||
},
|
||||
));
|
4
packages/react/test/templates/provider/build/flecks.yml
Normal file
4
packages/react/test/templates/provider/build/flecks.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
'@flecks/core': {}
|
||||
'@flecks/server': {}
|
||||
'@flecks/react': {}
|
||||
'test:./test': {}
|
1
packages/react/test/templates/provider/package.json
Normal file
1
packages/react/test/templates/provider/package.json
Normal file
|
@ -0,0 +1 @@
|
|||
{}
|
3
packages/react/test/templates/provider/test/package.json
Normal file
3
packages/react/test/templates/provider/test/package.json
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"dependencies": {"@flecks/react": "*"}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
import {createContext} from '@flecks/react';
|
||||
|
||||
export const Context = createContext();
|
7
packages/react/test/templates/provider/test/src/index.js
Normal file
7
packages/react/test/templates/provider/test/src/index.js
Normal file
|
@ -0,0 +1,7 @@
|
|||
import {Context} from './context';
|
||||
import {Component} from './root';
|
||||
|
||||
export const hooks = {
|
||||
'@flecks/react.providers': () => [Context.Provider, {value: 'foobar'}],
|
||||
'@flecks/react.roots': () => Component,
|
||||
};
|
8
packages/react/test/templates/provider/test/src/root.jsx
Normal file
8
packages/react/test/templates/provider/test/src/root.jsx
Normal file
|
@ -0,0 +1,8 @@
|
|||
import {useContext, React} from '@flecks/react';
|
||||
|
||||
import {Context} from './context';
|
||||
|
||||
export function Component() {
|
||||
const foobar = useContext(Context);
|
||||
return <div className="provider-test">{foobar}</div>;
|
||||
}
|
Loading…
Reference in New Issue
Block a user