diff --git a/package.json b/package.json index 97c569775..6a9983afc 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "scripts": { "dev:web": "npm run dev --workspace=packages/bruno-app", "build:web": "npm run build --workspace=packages/bruno-app", + "prettier:web":"npm run prettier --workspace=packages/bruno-app", "dev:electron": "npm run dev --workspace=packages/bruno-electron", "build:chrome-extension": "./scripts/build-chrome-extension.sh", "build:electron": "./scripts/build-electron.sh", diff --git a/packages/bruno-app/src/components/RequestPane/QueryUrl/HttpMethodSelector/index.js b/packages/bruno-app/src/components/RequestPane/QueryUrl/HttpMethodSelector/index.js index 0a7d32048..eb72c85b7 100644 --- a/packages/bruno-app/src/components/RequestPane/QueryUrl/HttpMethodSelector/index.js +++ b/packages/bruno-app/src/components/RequestPane/QueryUrl/HttpMethodSelector/index.js @@ -10,7 +10,7 @@ const HttpMethodSelector = ({ method, onMethodSelect }) => { const Icon = forwardRef((props, ref) => { return (
-
{method}
+
{method}
diff --git a/packages/bruno-app/src/components/RequestTabs/index.js b/packages/bruno-app/src/components/RequestTabs/index.js index df30f51fd..989c701d3 100644 --- a/packages/bruno-app/src/components/RequestTabs/index.js +++ b/packages/bruno-app/src/components/RequestTabs/index.js @@ -119,7 +119,7 @@ const RequestTabs = () => {
) : null} -
  • +
  • diff --git a/packages/bruno-app/src/components/Welcome/StyledWrapper.js b/packages/bruno-app/src/components/Welcome/StyledWrapper.js index 67a1ca41a..96cc58409 100644 --- a/packages/bruno-app/src/components/Welcome/StyledWrapper.js +++ b/packages/bruno-app/src/components/Welcome/StyledWrapper.js @@ -11,13 +11,14 @@ const StyledWrapper = styled.div` } .collection-options { + cursor: pointer; + svg { position: relative; top: -1px; } .label { - cursor: pointer; &:hover { text-decoration: underline; } diff --git a/packages/bruno-app/src/components/Welcome/index.js b/packages/bruno-app/src/components/Welcome/index.js index 33a7eaed8..a6e4ce810 100644 --- a/packages/bruno-app/src/components/Welcome/index.js +++ b/packages/bruno-app/src/components/Welcome/index.js @@ -65,15 +65,15 @@ const Welcome = () => {
    Collections
    -
    +
    setCreateCollectionModalOpen(true)}> - setCreateCollectionModalOpen(true)}> + Create Collection
    -
    +
    setAddCollectionToWSModalOpen(true)}> - setAddCollectionToWSModalOpen(true)}> + Add Collection to Workspace
    diff --git a/readme.md b/readme.md index 1983ec9e4..85acb3c23 100644 --- a/readme.md +++ b/readme.md @@ -48,7 +48,7 @@ Woof! If you like project, hit that ⭐ button !! ### Stay in touch 🌐 [Twitter](https://twitter.com/use_bruno)
    -[Website](https://www.usebruno.com) +[Website](https://www.usebruno.com)
    [Discord](https://discord.com/invite/KgcZUncpjq) ### License 📄 diff --git a/tests/home.spec.js b/tests/home.spec.js index b26f33587..4611db829 100644 --- a/tests/home.spec.js +++ b/tests/home.spec.js @@ -1,6 +1,6 @@ const { test, expect } = require('@playwright/test'); -const { faker } = require('@faker-js/faker'); const { HomePage } = require('../tests/pages/home.page'); +import * as faker from './utils/data-faker'; test.describe('bruno e2e test', () => { let homePage; @@ -13,9 +13,22 @@ test.describe('bruno e2e test', () => { await expect(page).toHaveTitle(/bruno/); }); + test('user should be able to create new collection & new request', async () => { + await homePage.createNewCollection(faker.randomWords); + await expect(homePage.createNewCollectionSuccessToast).toBeVisible(); + + // using fake data to simulate negative case + await homePage.createNewRequest(faker.randomVerb, faker.randomHttpMethod, faker.randomUrl); + await expect(homePage.networkErrorToast).toBeVisible(); + + // using real data to simulate positive case + await homePage.createNewRequest('Single User', 'GET', 'https://reqres.in/api/users/2'); + await expect(homePage.statusRequestSuccess).toBeVisible(); + }); + test('user should be able to load & use sample collection', async () => { await homePage.loadSampleCollection(); - await expect(homePage.loadSampleCollectionToastSuccess).toBeVisible(); + await expect(homePage.loadSampleCollectionSuccessToast).toBeVisible(); await homePage.getUsers(); await expect(homePage.statusRequestSuccess).toBeVisible(); @@ -33,9 +46,4 @@ test.describe('bruno e2e test', () => { await expect(homePage.statusRequestSuccess).toBeVisible(); }); - test('user should be able to create new collection', async () => { - await homePage.createCollection(faker.random.words()); - await expect(homePage.createCollectionToastSuccess).toBeVisible(); - }) - }); diff --git a/tests/pages/home.page.js b/tests/pages/home.page.js index c0357cb16..5f475fe6b 100644 --- a/tests/pages/home.page.js +++ b/tests/pages/home.page.js @@ -9,7 +9,7 @@ exports.HomePage = class HomePage { this.loadSampleCollectionSelector = page.locator('#load-sample-collection'); // sample collection - this.loadSampleCollectionToastSuccess = page.getByText('Sample Collection loaded successfully'); + this.loadSampleCollectionSuccessToast = page.getByText('Sample Collection loaded successfully'); this.sampeCollectionSelector = page.locator('#sidebar-collection-name'); this.getUsersSelector = page.getByText('Users'); this.getSingleUserSelector = page.getByText('Single User'); @@ -26,7 +26,12 @@ exports.HomePage = class HomePage { // create collection this.collectionNameField = page.locator('#collection-name'); this.submitButton = page.locator(`button[type='submit']`); - this.createCollectionToastSuccess = page.getByText('Collection created'); + this.createNewCollectionSuccessToast = page.getByText('Collection created'); + this.createNewTab = page.locator('#create-new-tab'); + this.requestNameField = page.locator('input[name="requestName"]'); + this.methodName = page.locator('#create-new-request-method').first(); + this.requestUrlField = page.locator('#request-url'); + this.networkErrorToast = page.getByText('Network Error'); } async open() { @@ -63,9 +68,19 @@ exports.HomePage = class HomePage { await this.sendRequestButton.click(); } - async createCollection(collectionName) { + async createNewCollection(collectionName) { await this.createCollectionSelector.click(); await this.collectionNameField.fill(collectionName); await this.submitButton.click(); } + + async createNewRequest(name, method, endpoint) { + await this.createNewTab.click(); + await this.requestNameField.fill(name); + await this.methodName.click(); + await this.page.click(`text=${method}`); + await this.requestUrlField.fill(endpoint); + await this.submitButton.click(); + await this.sendRequestButton.click(); + } } diff --git a/tests/utils/data-faker.js b/tests/utils/data-faker.js new file mode 100644 index 000000000..47183065e --- /dev/null +++ b/tests/utils/data-faker.js @@ -0,0 +1,6 @@ +const { faker } = require('@faker-js/faker'); + +export let randomWords = faker.random.words(); +export let randomVerb = faker.hacker.verb(); +export let randomHttpMethod = faker.internet.httpMethod(); +export let randomUrl = faker.internet.url(); \ No newline at end of file