/spearmint

Testing, simplified. || An inclusive, accessibility-first GUI for generating clean, semantic Javascript tests in only a few clicks of a button.

Primary LanguageJavaScriptMIT LicenseMIT

Spearmint helps developers easily create functional Accessibility, Endpoint, GraphQL, Puppeteer, React, Hooks, Redux, Svelte, Vue, and Security tests without writing any code. It dynamically converts user inputs into executable Jest test code by using DOM query selectors provided by @testing-library.

Installation

Please download spearmint from our website. Available for Mac OS, Windows, and Linux.

How to use in development mode

Mac Developers: Install Xcode

Windows Developers: Install Node.js globally

  1. Fork and clone this repository.
  2. npm install
  3. npm run watch
  4. npm run start-dev

Note: Windows users may also have to run Spearmint in admin mode

  1. Create a .env file in the root directory of the project
  2. Insert the following lines of code into the .env file
APP_DEV=true
BROWSER=non
SKIP_PREFLIGHT_CHECK=true
MONGO_LINK=
  1. Set MONGO_LINK to your MongoDB URI

How it works

  1. On the initial screen, a user is prompt to login, sign up (via OAuth or standard sign-up/login), or login as a guest. Once logged in, choose your file and load your application to start creating tests.

  1. Utilize our auto-complete, drop-down options, and tooltips features to easily create arrangement, action, and assertion test statements for React, Vue, and Svelte; reducer, action creator, asynchronous action creator, and middleware test statements for Redux; and hooks, context, endpoint, and GraphQL test statements. Spearmint can save test templates for future use for logged in user (not guests).

  1. Spearmint will then convert user input to dynamically generate a test file. You can click the export icon on the nav bar to automatically save the test file in the __tests__ folder to run test or to modify in the future.

  1. Lastly click Run Test button and follow the guide on the popup and click what type of test you would like to perform.

  2. The latest version of Spearmint adopted testing capability for Svelte and GraphQL. The Svelte library has been utilized to test your Svelte application.

New features with version 0.10.0

  • Testing capability for Svelte components

  • GraphQL endpoint testing functionality

  • Google Oauth

  • Facebook Oauth

  • Dependency refactoring

  • Additional typescript component conversions

  • Logout button

  • UI/UX streamlining

  • Ample bug fixes


The Spearmint Team


Alan @alanrichardson7
Alex @apark0720
Alfred @astaiglesia
Annie @annieshinn
Ben @bkwak
Charlie @charlie-maloney
Chen(Chloe) @chloelu29
Chloe @HeyItsChloe
Chris @cptcheng
Cornelius @corneeltron
David @koyykdy
Dave @davefranz
Deriante @dsin16
Dieu @dieunity
Eric @ericgpark
Evan @Berghoer
Gabriel @bielchristo
Huy @huyqbui
Joe @josephnagy
Johnny @johnny-lim
Judy @judysongg
Julie @julicious100
Justin @JIB3377
Karen @karenpinilla
Linda @lcwish
Luis @Luis-KM-Lo
Max B@mbromet
Max W @MaxWeisen
Mike @mbcoker
Mina @alsdk850
Mo @mhmaidi789
Myles @mylestsutsui
Natlyn @natlynp
Nick @nicolaspita
Owen @oweneldridge
Rachel @rachethecreator
Ruzeb @Ruzeb
Sean Y @seanyyoo
Sean H @sean-haverstock
Sharon @sharon-zhu
Sieun @sieunjang
Terence @TERR-inss
Tolan @taoantaoan
Tristen @twastell
Tyler @tytyjameson



If You Want To Contribute:

The following is a list of features + improvements for future open-source developers that the Spearmint team has either started or would like to see implemented. Or, if you have additional new ideas, feel free to implement those as well!

  • Containerization with Docker
  • Exporting test files in TypeScript
  • Additional security testing functionality
  • Dry refactoring of codebase