cypress-plugin-api icon indicating copy to clipboard operation
cypress-plugin-api copied to clipboard

After Merage with Last request and Before Request not Before not showing

Open matifniaz opened this issue 2 years ago • 9 comments

After the Request merges with last API Request and Before Request not showing. Verison latest V[2.3.1](https://www.npmjs.com/package/cypress-plugin-api/v/2.3.1) The snapshot is attached for reference. 12121212 image

matifniaz avatar Nov 07 '22 14:11 matifniaz

Hey @matifniaz I don’t think I follow. What exactly is not showing on the snapshot that should be there?

filiphric avatar Nov 07 '22 14:11 filiphric

Two issues:

  1. In before have login API that is not showing.
  2. After merge with my last API "emailTemplateList"

12121212

matifniaz avatar Nov 07 '22 14:11 matifniaz

So do I understand correctly that the scrolling does not work here? What OS & browser is this please?

filiphric avatar Nov 07 '22 15:11 filiphric

OS - Windows 11 Browser Chrome

Not a scrolling issue. Before not showing and After the payload request response merges with the last API request.

matifniaz avatar Nov 07 '22 15:11 matifniaz

oooooooh I think I understand now. I’ll take a look and make sure to fix this

filiphric avatar Nov 07 '22 17:11 filiphric

oooooooh I think I understand now. I’ll take a look and make sure to fix this

filiphric avatar Nov 07 '22 17:11 filiphric

hey @matifniaz can you please send a reproducible issue? I cannot seem to replicate this. before and after hooks work well, I don’t see any merging of payloads.

filiphric avatar Nov 12 '22 22:11 filiphric

@filiphric - Thanks for helping us and sorry for the late response. Please see the below code and snapshot, In the last when I click on the "After All" Request its showing the result with the last API Request/Response. `/// const url = 'https://reqres.in'; describe("API TestCases",()=>{ before(()=>{ cy.api('GET', url + '/api/users?page=2') .then((response) => { expect(response).to.have.property('status', 200) expect(response.body.data[0].email).to.equal('[email protected]') }) })

after(()=>{
        cy.api('GET', url + '/api/users/2')
            .then((response) => {
                expect(response).to.have.property('status', 200)
                expect(response.body.data.email).to.equal('[email protected]')
            })
})

it('POST --> CREATE', () => { cy.api({ 'method': 'POST', 'url': url + '/api/users', headers: { 'Content-Type': 'application/json' }, body: { "name": "AtifNiaz", "job": "Lead SQA" }

})
    .then((response) => {
        expect(response).to.have.property('status', 201)
        expect(response.body.name).to.equal('AtifNiaz')
        expect(response.body.job).to.equal('Lead SQA')
        expect(response.body.id).not.to.be.null
        expect(response.body.createdAt).not.to.be.null
    })

}) it('PUT --> UPDATE', () => { cy.api({ 'method': 'PUT', 'url': url + '/api/users/2', headers: { 'Content-Type': 'application/json' }, body: { "name": "AtifNiaz", "job": "Lead SQA" } }) .then((response) => { expect(response).to.have.property('status', 200) expect(response.body.name).to.equal('AtifNiaz') expect(response.body.job).to.equal('Lead SQA') expect(response.body.createdAt).not.to.be.null }) }) }) ` image

matifniaz avatar Nov 14 '22 13:11 matifniaz

this is how Cypress works, there’s not too much I can do with that. you will see the api call from before() hook as part of your first test and api call from after() hook in your last test.

filiphric avatar Nov 14 '22 13:11 filiphric