Skip to content

oslabs-beta/spearmint-fresh

Repository files navigation

Spearmint helps developers easily create functional React/Redux/Endpoint/Paint Timing 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 and Windows.

How to use in development mode

For Mac developers

Prerequisite: Install Xcode

First install

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

For Windows developers

Prerequisite: 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


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; reducer, action creator, asynchronous action creator, and middleware test statements for Redux; and hooks, context, and endpoint 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, which you can click export icon on the left nav bar to automatically save the test file in the __tests__ folder.

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

  3. An accessibility lens has been added in the app to give developers with different mismatches various options to interact with the app.

  1. The latest version of Spearmint has a specific focus on security. The Snyk library has been utilized to ensure your application is up to snuff for various security standards and protect your application from malicious attacks. Users can now test their application for vulnerabilities including: SQL Injection, Cross-site Scripting (XSS), Hardcoded Secrets, and much more!

New features with version 0.8.0

-Security testing via Snyk

-Guest Login

-Cross-platform functionality (Mac OS w/ M1 chip, Mac OS w/ Intel chip, Windows)

-60% reduced package size

-Accelerated startup time

-Ample bug fixes


Demos

Guest login

Signup + login

Snyk auth + dependency test

Snyk fix dependencies

Generate endpoint test

Run a specific test


Snyk Setup

Authenticate Snyk

Enable Snyk code

The Spearmint Team


Alan @alanrichardson7
Alex @apark0720
Alfred @astaiglesia
Annie @annieshinn
Ben @bkwak
Charlie @charlie-maloney
Chloe @HeyItsChloe
Cornelius @corneeltron
Dave @davefranz
Dieu @dieunity
Eric @ericgpark
Evan @Berghoer
Gabriel @bielchristo
Joe @josephnagy
Johnny @johnny-lim
Julie @julicious100
Justin @JIB3377
Karen @karenpinilla
Linda @lcwish
Luis @Luis-KM-Lo
Max B@mbromet
Max W @MaxWeisen
Mike @mbcoker
Mo @mhmaidi789
Natlyn @natlynp
Nick @nicolaspita
Owen @oweneldridge
Rachel @rachethecreator
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!

  • Vue test generation
  • Github OAuth login (was available in previous versions, but the components used became deprecated)
  • Additional security testing functionality

About

spearmint, rebuilt from the ground up

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published