Changeset View
Changeset View
Standalone View
Standalone View
cypress/integration/origin-save.spec.js
Show All 39 Lines | function stubSaveRequest({ | ||||
requestUrl, | requestUrl, | ||||
visitType = 'git', | visitType = 'git', | ||||
saveRequestStatus, | saveRequestStatus, | ||||
originUrl, | originUrl, | ||||
saveTaskStatus, | saveTaskStatus, | ||||
responseStatus = 200, | responseStatus = 200, | ||||
errorMessage = '', | errorMessage = '', | ||||
saveRequestDate = new Date(), | saveRequestDate = new Date(), | ||||
visitDate = new Date() | visitDate = new Date(), | ||||
visitStatus = null | |||||
} = {}) { | } = {}) { | ||||
let response; | let response; | ||||
if (responseStatus !== 200 && errorMessage) { | if (responseStatus !== 200 && errorMessage) { | ||||
response = { | response = { | ||||
'detail': errorMessage | 'detail': errorMessage | ||||
}; | }; | ||||
} else { | } else { | ||||
response = genOriginSaveResponse({visitType: visitType, | response = genOriginSaveResponse({visitType: visitType, | ||||
saveRequestStatus: saveRequestStatus, | saveRequestStatus: saveRequestStatus, | ||||
originUrl: originUrl, | originUrl: originUrl, | ||||
saveRequestDate: saveRequestDate, | saveRequestDate: saveRequestDate, | ||||
saveTaskStatus: saveTaskStatus, | saveTaskStatus: saveTaskStatus, | ||||
visitDate: visitDate}); | visitDate: visitDate, | ||||
visitStatus: visitStatus | |||||
}); | |||||
} | } | ||||
cy.intercept('POST', requestUrl, {body: response, statusCode: responseStatus}) | cy.intercept('POST', requestUrl, {body: response, statusCode: responseStatus}) | ||||
.as('saveRequest'); | .as('saveRequest'); | ||||
} | } | ||||
// Mocks API response : /save/(:visit_type)/(:origin_url) | // Mocks API response : /save/(:visit_type)/(:origin_url) | ||||
// visit_type : {'git', 'hg', 'svn'} | // visit_type : {'git', 'hg', 'svn'} | ||||
function genOriginSaveResponse({ | function genOriginSaveResponse({ | ||||
visitType = 'git', | visitType = 'git', | ||||
saveRequestStatus, | saveRequestStatus, | ||||
originUrl, | originUrl, | ||||
saveRequestDate = new Date(), | saveRequestDate = new Date(), | ||||
saveTaskStatus, | saveTaskStatus, | ||||
visitDate = new Date() | visitDate = new Date(), | ||||
visitStatus | |||||
} = {}) { | } = {}) { | ||||
return { | return { | ||||
'visit_type': visitType, | 'visit_type': visitType, | ||||
'save_request_status': saveRequestStatus, | 'save_request_status': saveRequestStatus, | ||||
'origin_url': originUrl, | 'origin_url': originUrl, | ||||
'id': 1, | 'id': 1, | ||||
'save_request_date': saveRequestDate ? saveRequestDate.toISOString() : null, | 'save_request_date': saveRequestDate ? saveRequestDate.toISOString() : null, | ||||
'save_task_status': saveTaskStatus, | 'save_task_status': saveTaskStatus, | ||||
'visit_date': visitDate ? visitDate.toISOString() : null | 'visit_date': visitDate ? visitDate.toISOString() : null, | ||||
'visit_status': visitStatus | |||||
}; | }; | ||||
}; | }; | ||||
describe('Origin Save Tests', function() { | describe('Origin Save Tests', function() { | ||||
before(function() { | before(function() { | ||||
url = this.Urls.origin_save(); | url = this.Urls.origin_save(); | ||||
origin = this.origin[0]; | origin = this.origin[0]; | ||||
this.originSaveUrl = this.Urls.origin_save_request(origin.type, origin.url); | this.originSaveUrl = this.Urls.origin_save_request(origin.type, origin.url); | ||||
▲ Show 20 Lines • Show All 151 Lines • ▼ Show 20 Lines | describe('Origin Save Tests', function() { | ||||
}); | }); | ||||
it('should not add timestamp to the browse origin URL is no visit date has been found', function() { | it('should not add timestamp to the browse origin URL is no visit date has been found', function() { | ||||
const originUrl = 'https://git.example.org/example.git'; | const originUrl = 'https://git.example.org/example.git'; | ||||
const saveRequestData = genOriginSaveResponse({ | const saveRequestData = genOriginSaveResponse({ | ||||
saveRequestStatus: 'accepted', | saveRequestStatus: 'accepted', | ||||
originUrl: originUrl, | originUrl: originUrl, | ||||
saveTaskStatus: 'succeeded', | saveTaskStatus: 'succeeded', | ||||
visitDate: null | visitDate: null, | ||||
visitStatus: 'full' | |||||
}); | }); | ||||
const saveRequestsListData = { | const saveRequestsListData = { | ||||
'recordsTotal': 1, | 'recordsTotal': 1, | ||||
'draw': 2, | 'draw': 2, | ||||
'recordsFiltered': 1, | 'recordsFiltered': 1, | ||||
'data': [saveRequestData] | 'data': [saveRequestData] | ||||
}; | }; | ||||
cy.intercept('/save/requests/list/**', {body: saveRequestsListData}) | cy.intercept('/save/requests/list/**', {body: saveRequestsListData}) | ||||
▲ Show 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | it('should select correct visit type if possible when clicking on "Save again" button', function() { | ||||
const badVisitType = 'hg'; | const badVisitType = 'hg'; | ||||
const goodVisitType = 'git'; | const goodVisitType = 'git'; | ||||
cy.intercept('/save/requests/list/**', {fixture: 'origin-save'}); | cy.intercept('/save/requests/list/**', {fixture: 'origin-save'}); | ||||
stubSaveRequest({requestUrl: this.Urls.origin_save_request(badVisitType, originUrl), | stubSaveRequest({requestUrl: this.Urls.origin_save_request(badVisitType, originUrl), | ||||
visitType: badVisitType, | visitType: badVisitType, | ||||
saveRequestStatus: 'accepted', | saveRequestStatus: 'accepted', | ||||
originUrl: originUrl, | originUrl: originUrl, | ||||
saveTaskStatus: 'failed', | saveTaskStatus: 'failed', | ||||
visitStatus: 'failed', | |||||
responseStatus: 200, | responseStatus: 200, | ||||
errorMessage: saveCodeMsg['accepted']}); | errorMessage: saveCodeMsg['accepted']}); | ||||
makeOriginSaveRequest(badVisitType, originUrl); | makeOriginSaveRequest(badVisitType, originUrl); | ||||
cy.get('#swh-origin-save-requests-list-tab').click(); | cy.get('#swh-origin-save-requests-list-tab').click(); | ||||
cy.wait('@saveRequest').then(() => { | cy.wait('@saveRequest').then(() => { | ||||
cy.get('.swh-save-origin-again') | cy.get('.swh-save-origin-again') | ||||
Show All 14 Lines |