Best JavaScript code snippet using storybook-root
Temporary.js
Source:Temporary.js
1import React from 'react';2import {Text, SafeAreaView, StyleSheet, ScrollView} from 'react-native';3import {ButtonComponent, Container} from '../components';4import {theme} from '../constants';5const Temporary = ({navigation}) => {6 return (7 <SafeAreaView>8 <ScrollView>9 <Container row style={{marginTop: theme.Sizes.S14 * 2}}>10 <Container>11 <ButtonComponent12 style={{13 marginVertical: theme.Sizes.S10,14 marginHorizontal: theme.Sizes.S14,15 }}16 onPress={() => navigation.navigate('Login')}>17 Login18 </ButtonComponent>19 <ButtonComponent20 style={{21 marginVertical: theme.Sizes.S10,22 marginHorizontal: theme.Sizes.S14,23 }}24 onPress={() => navigation.navigate('Home')}>25 Home26 </ButtonComponent>27 <ButtonComponent28 style={{29 marginVertical: theme.Sizes.S10,30 marginHorizontal: theme.Sizes.S14,31 }}32 onPress={() => navigation.navigate('SelectAddress')}>33 Select Address34 </ButtonComponent>35 <ButtonComponent36 style={{37 marginVertical: theme.Sizes.S10,38 marginHorizontal: theme.Sizes.S14,39 }}40 onPress={() => navigation.navigate('AddNewAddress')}>41 Add New Address42 </ButtonComponent>43 <ButtonComponent44 style={{45 marginVertical: theme.Sizes.S10,46 marginHorizontal: theme.Sizes.S14,47 }}48 onPress={() => navigation.navigate('SelectTimeSlot')}>49 Select Time Slot50 </ButtonComponent>51 <ButtonComponent52 style={{53 marginVertical: theme.Sizes.S10,54 marginHorizontal: theme.Sizes.S14,55 }}56 onPress={() => navigation.navigate('BookingSummary')}>57 Booking Summary58 </ButtonComponent>59 <ButtonComponent60 style={{61 marginVertical: theme.Sizes.S10,62 marginHorizontal: theme.Sizes.S14,63 }}64 onPress={() => navigation.navigate('Categories')}>65 Categories66 </ButtonComponent>67 <ButtonComponent68 style={{69 marginVertical: theme.Sizes.S10,70 marginHorizontal: theme.Sizes.S14,71 }}72 onPress={() => navigation.navigate('EditProfile')}>73 Edit Profile74 </ButtonComponent>75 <ButtonComponent76 style={{77 marginVertical: theme.Sizes.S10,78 marginHorizontal: theme.Sizes.S14,79 }}80 onPress={() => navigation.navigate('Register')}>81 Register82 </ButtonComponent>83 <ButtonComponent84 style={{85 marginVertical: theme.Sizes.S10,86 marginHorizontal: theme.Sizes.S14,87 }}88 onPress={() => navigation.navigate('BookingDetails')}>89 BookingDetails90 </ButtonComponent>91 <ButtonComponent92 style={{93 marginVertical: theme.Sizes.S10,94 marginHorizontal: theme.Sizes.S14,95 }}96 onPress={() => navigation.navigate('Chat')}>97 Chat98 </ButtonComponent>99 <ButtonComponent100 style={{101 marginVertical: theme.Sizes.S10,102 marginHorizontal: theme.Sizes.S14,103 }}104 onPress={() =>105 navigation.navigate('BookingServiceProviderMapLocation')106 }>107 BookingServiceProviderMapLocation108 </ButtonComponent>109 <ButtonComponent110 style={{111 marginVertical: theme.Sizes.S10,112 marginHorizontal: theme.Sizes.S14,113 }}114 onPress={() => navigation.navigate('Bookings')}>115 Bookings116 </ButtonComponent>117 <ButtonComponent118 style={{119 marginVertical: theme.Sizes.S10,120 marginHorizontal: theme.Sizes.S14,121 }}122 onPress={() => navigation.navigate('Confirmation')}>123 Confirmation124 </ButtonComponent>125 <ButtonComponent126 style={{127 marginVertical: theme.Sizes.S10,128 marginHorizontal: theme.Sizes.S14,129 }}130 onPress={() => navigation.navigate('Profile')}>131 Profile132 </ButtonComponent>133 </Container>134 <Container>135 <ButtonComponent136 style={{137 marginVertical: theme.Sizes.S10,138 marginHorizontal: theme.Sizes.S14,139 }}140 onPress={() => navigation.navigate('BookingMarkComplete')}>141 BookingMarkComplete142 </ButtonComponent>143 <ButtonComponent144 style={{145 marginVertical: theme.Sizes.S10,146 marginHorizontal: theme.Sizes.S14,147 }}148 onPress={() => navigation.navigate('BookingLeaveAReview')}>149 BookingLeaveAReview150 </ButtonComponent>151 <ButtonComponent152 style={{153 marginVertical: theme.Sizes.S10,154 marginHorizontal: theme.Sizes.S14,155 }}156 onPress={() => navigation.navigate('BookingSubmitAReview')}>157 BookingSubmitAReview158 </ButtonComponent>159 <ButtonComponent160 style={{161 marginVertical: theme.Sizes.S10,162 marginHorizontal: theme.Sizes.S14,163 }}164 onPress={() => navigation.navigate('BookingCompletedView')}>165 BookingCompletedView166 </ButtonComponent>167 <ButtonComponent168 style={{169 marginVertical: theme.Sizes.S10,170 marginHorizontal: theme.Sizes.S14,171 }}172 onPress={() => navigation.navigate('ServiceProviderProfile')}>173 ServiceProviderProfile174 </ButtonComponent>175 <ButtonComponent176 style={{177 marginVertical: theme.Sizes.S10,178 marginHorizontal: theme.Sizes.S14,179 }}180 onPress={() => navigation.navigate('Chat2')}>181 Chat2182 </ButtonComponent>183 <ButtonComponent184 style={{185 marginVertical: theme.Sizes.S10,186 marginHorizontal: theme.Sizes.S14,187 }}188 onPress={() => navigation.navigate('ServiceProviderDashboard')}>189 ServiceProviderDashboard190 </ButtonComponent>191 <ButtonComponent192 style={{193 marginVertical: theme.Sizes.S10,194 marginHorizontal: theme.Sizes.S14,195 }}196 onPress={() => navigation.navigate('VerifyOTP21')}>197 VerifyOTP21198 </ButtonComponent>199 <ButtonComponent200 style={{201 marginVertical: theme.Sizes.S10,202 marginHorizontal: theme.Sizes.S14,203 }}204 onPress={() =>205 navigation.navigate('ServiceProviderDashboardToday')206 }>207 ServiceProviderDashboardToday208 </ButtonComponent>209 <ButtonComponent210 style={{211 marginVertical: theme.Sizes.S10,212 marginHorizontal: theme.Sizes.S14,213 }}214 onPress={() =>215 navigation.navigate('ServiceProviderListOfReviews')216 }>217 ServiceProviderListOfReviews218 </ButtonComponent>219 <ButtonComponent220 style={{221 marginVertical: theme.Sizes.S10,222 marginHorizontal: theme.Sizes.S14,223 }}224 onPress={() => navigation.navigate('CustomerProfile')}>225 CustomerProfile226 </ButtonComponent>227 <ButtonComponent228 style={{229 marginVertical: theme.Sizes.S10,230 marginHorizontal: theme.Sizes.S14,231 }}232 onPress={() => navigation.navigate('Start')}>233 Start234 </ButtonComponent>235 </Container>236 </Container>237 </ScrollView>238 </SafeAreaView>239 );240};241const styles = StyleSheet.create({242 container: {243 flex: 1,244 backgroundColor: theme.Colors.white,245 justifyContent: 'center',246 alignItems: 'center',247 },248});...
button-component.jsx
Source:button-component.jsx
1import { faPaperPlane } from '@fortawesome/free-solid-svg-icons';2import React from 'react';3import { ButtonComponent, InputDefaultComponent } from '../components/base_component';4const ButtonComponentPage = () => {5 return (6 <>7 <div className='container mx-auto items-center flex flex-wrap my-5 gap-5'>8 <ButtonComponent9 label={"Button"}10 bg="primary"11 size={"sm"}12 />13 <ButtonComponent14 label={"Button"}15 bg="primary"16 />17 <ButtonComponent18 label={"Button"}19 bg="primary"20 size={"lg"}21 />22 <ButtonComponent23 label={"Button"}24 bg="primary"25 size={"sm"}26 icon={faPaperPlane}27 />28 <ButtonComponent29 label={"Button"}30 bg="primary"31 icon={faPaperPlane}32 />33 <ButtonComponent34 label={"Button"}35 bg="primary"36 size={"lg"}37 icon={faPaperPlane}38 />39 <ButtonComponent40 label={"Button"}41 bg="primary"42 size={"sm"}43 icon={faPaperPlane}44 boxIcon45 />46 <ButtonComponent47 label={"Button"}48 bg="primary"49 icon={faPaperPlane}50 boxIcon51 />52 <ButtonComponent53 label={"Button"}54 bg="primary"55 size={"lg"}56 icon={faPaperPlane}57 boxIcon58 />59 <ButtonComponent60 label={"Button"}61 bg="primary"62 icon={faPaperPlane}63 boxIcon64 size={"sm"}65 rounded66 />67 <ButtonComponent68 label={"Button"}69 bg="primary"70 icon={faPaperPlane}71 boxIcon72 rounded73 />74 <ButtonComponent75 label={"Button"}76 bg="primary"77 icon={faPaperPlane}78 boxIcon79 rounded80 size={"lg"}81 />82 <ButtonComponent83 square84 bg="primary"85 size={"sm"}86 icon={faPaperPlane}87 />88 <ButtonComponent89 square90 bg="primary"91 icon={faPaperPlane}92 />93 <ButtonComponent94 square95 bg="primary"96 size={"lg"}97 icon={faPaperPlane}98 />99 <ButtonComponent100 label={"Button"}101 bg="primary"102 loading103 size={"sm"}104 />105 <ButtonComponent106 label={"Button"}107 bg="primary"108 loading109 />110 <ButtonComponent111 label={"Button"}112 bg="primary"113 loading114 size={"lg"}115 />116 <ButtonComponent117 label={"Button"}118 bg="primary"119 loading120 size={"sm"}121 square122 />123 <ButtonComponent124 label={"Button"}125 bg="primary"126 loading127 square128 />129 <ButtonComponent130 label={"Button"}131 bg="primary"132 loading133 size={"lg"}134 square135 />136 <ButtonComponent137 label={"Button"}138 bg="light__primary"139 color={"primary"}140 rounded141 />142 <ButtonComponent143 label={"Button"}144 border="primary"145 color={"primary"}146 rounded147 />148 <ButtonComponent149 label={"Button"}150 border="primary"151 bg="light__primary"152 color={"primary"}153 rounded154 />155 <ButtonComponent156 label={"Button"}157 bg="primary"158 disabled159 rounded160 />161 </div>162 </>163 );164}...
Button.test.js
Source:Button.test.js
1import { shallow } from "enzyme";2import Button from "./Button";3import { findByTestAttr, setup } from "../../utils/index";4//check button component5test("renders Button component without error", () => {6 const wrapper = setup(shallow, Button);7 const buttonComponent = findByTestAttr(wrapper, "component-button");8 expect(buttonComponent.length).toBe(1);9});10test("Button component props", () => {11 const mockCallBack = jest.fn();12 const wrapper = setup(shallow, Button, false, {13 onClick: mockCallBack,14 className: "test",15 name: "test",16 test: true,17 });18 const buttonComponent = findByTestAttr(wrapper, "component-button");19 //check class name20 expect(buttonComponent.hasClass("test")).toBe(true);21 //test click22 buttonComponent.simulate("click");23 expect(mockCallBack.mock.calls.length).toEqual(1);24 //check button name25 expect(buttonComponent.text()).toEqual("test");26 //test can passing rest props27 expect(buttonComponent.prop("test")).toBe(true);...
Using AI Code Generation
1import { ButtonComponent } from 'storybook-root';2import { render } from '@testing-library/react';3test('renders learn react link', () => {4 const { getByText } = render(<ButtonComponent />);5 const linkElement = getByText(/learn react/i);6 expect(linkElement).toBeInTheDocument();7});
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!