diff --git a/packages/astro-reactive-form/test/Form.astro.test.js b/packages/astro-reactive-form/test/Form.astro.test.js
index a1d359d..22cd394 100644
--- a/packages/astro-reactive-form/test/Form.astro.test.js
+++ b/packages/astro-reactive-form/test/Form.astro.test.js
@@ -1,48 +1,19 @@
import { expect } from 'chai';
import { getComponentOutput } from 'astro-component-tester';
-describe('Form.astro test', async () => {
+describe('Form.astro test', () => {
let component;
- describe('Input: formGroup is empty', () => {
- it('Should handle empty formGroup prop', async () => {
- // arrange
- const expectedResult = `
`;
- const props = { formGroup: undefined };
- component = await getComponentOutput('./src/Form.astro', props);
-
- // act
- const actualResult = cleanString(component.html);
-
- // assert
- expect(actualResult).to.contain(expectedResult);
- });
-
- it('Should handle empty controls', async () => {
- // arrange
- const expectedResult = ``;
- const props = { formGroup: { controls: [] } };
- component = await getComponentOutput('./src/Form.astro', props);
-
- // act
- const actualResult = cleanString(component.html);
-
- // assert
- expect(actualResult).to.contain(expectedResult);
- });
+ beforeEach(() => {
+ component = undefined;
});
- describe('Label tests', () => {
- it('Should display text input with value and label positioned to the left', async () => {
+ describe('INPUT: formGroups', () => {
+ it('Should handle undefined formGroups prop', async () => {
// arrange
- const name = 'fake-control';
- const value = 'fake-value';
- const label = 'fake-label';
- const labelPosition = 'left';
- const fakeControl = { name, value, label, labelPosition };
- const expectedResult = ``;
- const props = { formGroup: { controls: [fakeControl] } };
- component = await getComponentOutput('./src/Form.astro', props);
+ const expectedResult = ''
+ const props = { formGroups: undefined };
+ component = await getComponentOutput('./Form.astro', props);
// act
const actualResult = cleanString(component.html);
@@ -50,16 +21,12 @@ describe('Form.astro test', async () => {
// assert
expect(actualResult).to.contain(expectedResult);
});
- it('Should display text input with value and label positioned to the right', async () => {
+
+ it('Should handle empty formGroups prop', async () => {
// arrange
- const name = 'fake-control';
- const value = 'fake-value';
- const label = 'fake-label';
- const labelPosition = 'right';
- const fakeControl = { name, value, label, labelPosition };
- const expectedResult = ``;
- const props = { formGroup: { controls: [fakeControl] } };
- component = await getComponentOutput('./src/Form.astro', props);
+ const expectedResult = ''
+ const props = { formGroups: [] };
+ component = await getComponentOutput('./Form.astro', props);
// act
const actualResult = cleanString(component.html);
@@ -67,156 +34,28 @@ describe('Form.astro test', async () => {
// assert
expect(actualResult).to.contain(expectedResult);
});
- });
- describe('Text Control tests', () => {
- it('Should display text input by default', async () => {
+ it('Should render a fieldset for each form group', async () => {
// arrange
- const name = 'fake-control';
- const fakeControl = { name };
- const expectedResult = ``;
- const props = { formGroup: { controls: [fakeControl] } };
- component = await getComponentOutput('./src/Form.astro', props);
+ const expectedCount = 3;
+ const element = /