Skip to content

Commit c06c3b7

Browse files
authored
Merge pull request #119 from oslabs-beta/master
Merging changes from oslabs-beta to open-source-labs for final spearmint changes
2 parents 09789e0 + 4bb4647 commit c06c3b7

File tree

97 files changed

+4393
-40827
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+4393
-40827
lines changed

.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
APP_DEV=true
2+
BROWSER=non
3+
SKIP_PREFLIGHT_CHECK=true

README.md

Lines changed: 54 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
1-
![](/public/spearmintbg.jpg)
1+
![](/public/spearmint.png)
22

3-
Spearmint helps developers easily create functional Accessibility/Endpoint/Puppeteer/React/Hooks/Redux/Vue/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.
3+
Spearmint helps developers easily create functional Accessibility/Endpoint/GraphQL/Puppeteer/React/Hooks/Redux/Svelte/Vue/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.
44

55
# Installation
6-
Please download spearmint from our [website](https://www.spearmintjs.com/). Available for Mac OS and Windows.
6+
Please download spearmint from our [website](https://www.spearmintjs.com/). Available for Mac OS, Windows, and Linux.
77

88

99
# How to use in development mode
1010

11-
### For Mac developers
11+
**Mac Developers**: Install Xcode
1212

13-
**Prerequisite**: Install Xcode
13+
**Windows Developers**: Install Node.js globally
1414

1515
1. Fork and clone this repository.
1616
2. ```npm install```
1717
3. ```npm run watch```
18-
3. ```npm run start-dev```
19-
20-
***
21-
22-
### For Windows developers
23-
24-
**Prerequisite**: Install Node.js globally
25-
26-
1. Fork and clone this repository.
27-
2. ```npm install```
28-
3. ```npm run watch```
29-
3. ```npm run start-dev```
18+
4. ```npm run start-dev```
3019

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

22+
5. Create a .env file in the root directory of the project
23+
6. Insert the following lines of code into the .env file
24+
```
25+
APP_DEV=true
26+
BROWSER=non
27+
SKIP_PREFLIGHT_CHECK=true
28+
MONGO_LINK=
29+
```
30+
7. Set MONGO_LINK to your MongoDB URI
31+
3332

3433
<br>
3534

@@ -39,52 +38,48 @@ Note: Windows users may also have to run Spearmint in admin mode
3938

4039
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.
4140

42-
![](/public/homePage.gif)
41+
![](/public/darkModeLogin.gif)
4342

44-
2. Utilize our auto-complete, drop-down options, and tooltips features to easily create arrangement, action, and assertion test statements for React and Vue; 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).
43+
2. 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).
4544

46-
![](/public/dropdown.png)
45+
![](/public/testingModal.png)
4746

4847
3. 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.
4948

50-
![](/public/saveTest.png)
49+
![](/public/saveTest.png)
5150

5251

5352
4. Lastly click **Run Test** button and follow the guide on the popup and click what type of test you would like to perform.
5453
![](/public/runTest.png)
5554

56-
5. An accessibility lens has been added in the app to give developers with different mismatches various options to interact with the app.
5755

58-
![](/public/AccLens_Demo.gif)
56+
5. The latest version of Spearmint adopted testing capability for Svelte and GraphQL. The [Svelte](https://testing-library.com/docs/svelte-testing-library/intro/) library has been utilized to test your Svelte application.
5957

60-
6. Spearmint provides security testing. The [Snyk](https://snyk.io/) library has been utilized to ensure your application is up to snuff for various security standards and protect your application from malicious attacks.
61-
Users can now test their application for vulnerabilities including: SQL Injection, Cross-site Scripting (XSS), Hardcoded Secrets, and much more!
58+
![](/public/svelte.gif)
6259

63-
![](/public/demos/snyk-test-app.gif)
60+
# New features with version 0.10.0
6461

65-
7. The latest version of Spearmint adopted testing capability for Vue.js. The [Vue Test Utils](https://vue-test-utils.vuejs.org/) library has been utilized to test your Vue.js application.
62+
* Testing capability for Svelte components
6663

67-
![](/public/vueTest.png)
64+
* GraphQL endpoint testing functionality
6865

69-
# New features with version 0.9.0
66+
* Google Oauth
7067

71-
* Testing capability for Vue.js
68+
* Facebook Oauth
7269

73-
* Github Oauth login
70+
* Dependency refactoring
7471

75-
* Modernized and upgraded user interface with dark mode option
72+
* Additional typescript component conversions
7673

77-
* Better user experience with draggable modals and exit buttons
74+
* Logout button
7875

79-
* Save test functionality for easier modification of tests
80-
81-
* Cross-platform functionality (Mac OS w/ M1 chip, Mac OS w/ Intel chip, Linux/Unix)
76+
* UI/UX streamlining
8277

8378
* Ample bug fixes
8479

8580
<br>
8681

87-
# Demos
82+
<!-- # Demos
8883
8984
### Guest login
9085
![](/public/demos/guest-login.gif)
@@ -95,9 +90,21 @@ Users can now test their application for vulnerabilities including: SQL Injectio
9590
### Github Oauth login
9691
![](/public/demos/oauth.gif)
9792
93+
### Facebook Oauth login
94+
![](/public/demos/oauth2.gif)
95+
96+
### Google Oauth login
97+
![](/public/demos/oauth3.gif)
98+
9899
### Vue Test
99100
![](/public/demos/vuetest.gif)
100101
102+
### Svelte Test
103+
![](/public/demos/sveltetest.gif)
104+
105+
### GraphQL Test
106+
![](/public/demos/graphqltest.gif)
107+
101108
### Dark Mode + Upgraded UI/UX
102109
![](/public/darkMode.gif)
103110
@@ -107,7 +114,7 @@ Users can now test their application for vulnerabilities including: SQL Injectio
107114
### Run a security test
108115
![](/public/demos/snyk-auth-testdep.gif)
109116
110-
<br>
117+
<br> -->
111118

112119

113120
# The Spearmint Team
@@ -121,15 +128,19 @@ Users can now test their application for vulnerabilities including: SQL Injectio
121128
> Charlie [@charlie-maloney](https://github.com/charlie-maloney) <br />
122129
> Chen(Chloe) [@chloelu29](https://github.com/chloelu29) <br />
123130
> Chloe [@HeyItsChloe](https://github.com/HeyItsChloe) <br />
124-
> Cornelius [@corneeltron](https://github.com/corneeltron) <br />
131+
> Chris [@cptcheng](https://github.com/cptcheng) <br />
132+
> Cornelius [@corneeltron](https://github.com/corneeltron) <br />
133+
> David [@koyykdy](https://github.com/koyykdy) <br />
125134
> Dave [@davefranz](https://github.com/davefranz) <br />
135+
> Deriante [@dsin16](https://github.com/dsin16) <br />
126136
> Dieu [@dieunity](https://github.com/dieunity) <br />
127137
> Eric [@ericgpark](https://github.com/ericgpark) <br />
128138
> Evan [@Berghoer](https://github.com/Berghoer) <br />
129139
> Gabriel [@bielchristo](https://github.com/bielchristo) <br />
130-
> Huy [@huyqbui](https://github.com/huyqbui)<br />
140+
> Huy [@huyqbui](https://github.com/huyqbui) <br />
131141
> Joe [@josephnagy](https://github.com/Josephnagy) <br />
132142
> Johnny [@johnny-lim](https://github.com/johnny-lim) <br />
143+
> Judy [@judysongg](https://github.com/judysongg) <br />
133144
> Julie [@julicious100](https://github.com/julicious100) <br />
134145
> Justin [@JIB3377](https://github.com/JIB3377) <br />
135146
> Karen [@karenpinilla](https://github.com/karenpinilla) <br />
@@ -138,14 +149,15 @@ Users can now test their application for vulnerabilities including: SQL Injectio
138149
> Max B[@mbromet](https://github.com/mbromet) <br />
139150
> Max W [@MaxWeisen](https://github.com/MaxWeisen) <br />
140151
> Mike [@mbcoker](https://github.com/mbcoker) <br />
141-
> Mina [@alsdk850](https://github.com/alsdk850)<br />
152+
> Mina [@alsdk850](https://github.com/alsdk850) <br />
142153
> Mo [@mhmaidi789](https://github.com/mhmaidi789) <br />
154+
> Myles [@mylestsutsui](https://github.com/mylestsutsui) <br />
143155
> Natlyn [@natlynp](https://github.com/natlynp) <br />
144156
> Nick [@nicolaspita](https://github.com/nicolaspita) <br />
145157
> Owen [@oweneldridge](https://github.com/oweneldridge) <br />
146158
> Rachel [@rachethecreator](https://github.com/rachethecreator) <br />
147159
> Ruzeb [@Ruzeb](https://github.com/Ruzeb) <br />
148-
> Sean Y [@seanyyoo](https://github.com/seanyyoo)<br />
160+
> Sean Y [@seanyyoo](https://github.com/seanyyoo) <br />
149161
> Sean H [@sean-haverstock](https://github.com/Sean-Haverstock) <br />
150162
> Sharon [@sharon-zhu](https://github.com/sharon-zhu) <br />
151163
> Sieun [@sieunjang](https://github.com/sieunjang) <br />
@@ -159,7 +171,6 @@ Users can now test their application for vulnerabilities including: SQL Injectio
159171

160172
# If You Want To Contribute:
161173
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!
162-
- GraphQL test generation
163174
- Containerization with Docker
164175
- Exporting test files in TypeScript
165176
- Additional security testing functionality

0 commit comments

Comments
 (0)