ReactTestBoilerplateGenerator
This Ruby module, Sublayer::Actions::GenerateReactTestAction, is designed to generate boilerplate React test code for a given component description. It contains a single class, GenerateReactTestAction, which inherits from a Base class. The class's initializer accepts a component_description parameter, which it stores in an instance variable. The primary method, call, uses this description to generate a string of test code through the private method generate_test_code. This test code includes imports for React, testing libraries, and a placeholder for the component to be tested. It also provides a sample test structure, encouraging the user to fill in details specific to the described component. This utility aids developers by providing a starting point for writing tests for their React components based on the provided description.
module Sublayer
module Actions
class GenerateReactTestAction < Base
def initialize(component_description:)
@component_description = component_description
end
def call
generate_test_code(@component_description)
end
private
def generate_test_code(description)
<<-TEST
import React from 'react';
import { render, screen } from '@testing-library/react';
import '@testing-library/jest-dom';
// import your component here, e.g.
// import MyComponent from './MyComponent';
// Test generated for the following component description:
// #{description}
// Example test
// Uncomment and replace 'MyComponent' and adjust according to the description
test('it renders the component', () => {
render(<MyComponent />);
expect(screen.getByText('example text')).toBeInTheDocument();
});
TEST
end
end
end
end