mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-10-16 04:57:13 +00:00
Merge branch 'dev' into dependabot/npm_and_yarn/src-ui/dev/frontend-angular-dependencies-f0885b8c36
This commit is contained in:
7 files changed
-1838
No files matched your search
@@ -94,51 +94,6 @@ test('should show a list of notes', async ({ page }) => {
|
||||
).toHaveCount(4)
|
||||
})
|
||||
|
||||
test('should support note deletion', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' })
|
||||
await page.goto('/documents/175/notes')
|
||||
await expect(page.locator('app-document-notes')).toBeVisible()
|
||||
const deletePromise = page.waitForRequest(
|
||||
(request) =>
|
||||
request.method() === 'DELETE' &&
|
||||
request.url().includes('/api/documents/175/notes/')
|
||||
)
|
||||
await page
|
||||
.getByRole('button', { name: /delete note/i, includeHidden: true })
|
||||
.first()
|
||||
.click()
|
||||
await deletePromise
|
||||
})
|
||||
|
||||
test('should support note insertion', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' })
|
||||
await page.goto('/documents/175/notes')
|
||||
await expect(page.locator('app-document-notes')).toBeVisible()
|
||||
await expect(
|
||||
await page.getByRole('button', {
|
||||
name: /delete note/i,
|
||||
includeHidden: true,
|
||||
})
|
||||
).toHaveCount(4)
|
||||
await page.getByPlaceholder('Enter note').fill('This is a new note')
|
||||
const addPromise = page.waitForRequest((request) => {
|
||||
if (!request.url().includes('/notes/')) {
|
||||
// ignore other requests
|
||||
return true
|
||||
} else {
|
||||
const data = request.postDataJSON()
|
||||
const isValid = data['note'] === 'This is a new note'
|
||||
return (
|
||||
isValid &&
|
||||
request.method() === 'POST' &&
|
||||
request.url().includes('/notes/')
|
||||
)
|
||||
}
|
||||
})
|
||||
await page.getByRole('button', { name: 'Add note' }).click()
|
||||
await addPromise
|
||||
})
|
||||
|
||||
test('should support quick filters', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR2, { notFound: 'fallback' })
|
||||
await page.goto('/documents/175/details')
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
import { test, expect } from '@playwright/test'
|
||||
|
||||
const REQUESTS_HAR1 = 'e2e/manage/requests/api-manage1.har'
|
||||
const REQUESTS_HAR2 = 'e2e/manage/requests/api-manage2.har'
|
||||
|
||||
test('should show a list of tags with bottom pagination as well', async ({
|
||||
page,
|
||||
}) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR1, { notFound: 'fallback' })
|
||||
await page.goto('/tags')
|
||||
await expect(page.getByRole('main')).toHaveText(/26 total tags/i)
|
||||
await expect(await page.locator('ngb-pagination')).toHaveCount(2)
|
||||
})
|
||||
|
||||
test('should show a list of correspondents without bottom pagination', async ({
|
||||
page,
|
||||
}) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR2, { notFound: 'fallback' })
|
||||
await page.goto('/correspondents')
|
||||
await expect(page.getByRole('main')).toHaveText(/4 total correspondents/i)
|
||||
await expect(await page.locator('ngb-pagination')).toHaveCount(1)
|
||||
})
|
||||
|
||||
test('should support quick filter Documents button', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR1, { notFound: 'fallback' })
|
||||
await page.goto('/tags')
|
||||
await page
|
||||
.getByRole('row', { name: 'Inbox' })
|
||||
.getByRole('button', { name: 'Documents' })
|
||||
.click()
|
||||
await expect(page).toHaveURL(/tags__id__all=9/)
|
||||
})
|
||||
|
||||
test('should support item editing', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR1, { notFound: 'fallback' })
|
||||
await page.goto('/tags')
|
||||
await page
|
||||
.getByRole('row', { name: 'Inbox' })
|
||||
.getByRole('button', { name: 'Edit' })
|
||||
.click()
|
||||
await expect(page.getByRole('dialog')).toBeVisible()
|
||||
await expect(page.getByLabel('Name')).toHaveValue('Inbox')
|
||||
await page.getByTitle('Color').getByRole('button').click()
|
||||
const color = await page.getByLabel('Color').inputValue()
|
||||
|
||||
const updatePromise = page.waitForRequest((request) => {
|
||||
const data = request.postDataJSON()
|
||||
const isValid = data['color'] === color
|
||||
return (
|
||||
isValid &&
|
||||
request.method() === 'PUT' &&
|
||||
request.url().includes('/api/tags/9/')
|
||||
)
|
||||
})
|
||||
|
||||
await page.getByRole('button', { name: 'Save' }).click()
|
||||
await updatePromise
|
||||
})
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,260 +0,0 @@
|
||||
{
|
||||
"log": {
|
||||
"version": "1.2",
|
||||
"creator": {
|
||||
"name": "Playwright",
|
||||
"version": "1.33.0"
|
||||
},
|
||||
"browser": {
|
||||
"name": "chromium",
|
||||
"version": "113.0.5672.53"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
"startedDateTime": "2023-05-14T07:14:44.026Z",
|
||||
"time": 5.666,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "http://localhost:8000/api/ui_settings/",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Accept", "value": "application/json; version=3" },
|
||||
{ "name": "Accept-Encoding", "value": "gzip, deflate, br" },
|
||||
{ "name": "Accept-Language", "value": "en-US" },
|
||||
{ "name": "Connection", "value": "keep-alive" },
|
||||
{ "name": "Host", "value": "localhost:8000" },
|
||||
{ "name": "Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Referer", "value": "http://localhost:4200/" },
|
||||
{ "name": "Sec-Fetch-Dest", "value": "empty" },
|
||||
{ "name": "Sec-Fetch-Mode", "value": "cors" },
|
||||
{ "name": "Sec-Fetch-Site", "value": "same-site" },
|
||||
{ "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.53 Safari/537.36" }
|
||||
],
|
||||
"queryString": [],
|
||||
"headersSize": -1,
|
||||
"bodySize": -1
|
||||
},
|
||||
"response": {
|
||||
"status": 200,
|
||||
"statusText": "OK",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Access-Control-Allow-Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Allow", "value": "GET, POST, HEAD, OPTIONS" },
|
||||
{ "name": "Content-Encoding", "value": "br" },
|
||||
{ "name": "Content-Language", "value": "en-us" },
|
||||
{ "name": "Content-Length", "value": "956" },
|
||||
{ "name": "Content-Type", "value": "application/json" },
|
||||
{ "name": "Cross-Origin-Opener-Policy", "value": "same-origin" },
|
||||
{ "name": "Referrer-Policy", "value": "same-origin" },
|
||||
{ "name": "Vary", "value": "Accept, Accept-Language, Origin, Cookie, Accept-Encoding" },
|
||||
{ "name": "X-Api-Version", "value": "3" },
|
||||
{ "name": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "name": "X-Frame-Options", "value": "ANY" },
|
||||
{ "name": "X-Version", "value": "1.14.4" }
|
||||
],
|
||||
"content": {
|
||||
"size": -1,
|
||||
"mimeType": "application/json",
|
||||
"text": "{\"user\":{\"id\":2,\"username\":\"testuser\",\"is_superuser\":false,\"groups\":[]},\"settings\":{\"language\":\"\",\"bulk_edit\":{\"confirmation_dialogs\":true,\"apply_on_close\":false},\"documentListSize\":50,\"dark_mode\":{\"use_system\":false,\"enabled\":\"false\",\"thumb_inverted\":\"true\"},\"theme\":{\"color\":\"#9fbf2f\"},\"document_details\":{\"native_pdf_viewer\":false},\"date_display\":{\"date_locale\":\"\",\"date_format\":\"mediumDate\"},\"notifications\":{\"consumer_new_documents\":true,\"consumer_success\":true,\"consumer_failed\":true,\"consumer_suppress_on_dashboard\":true},\"comments_enabled\":true,\"slim_sidebar\":false,\"update_checking\":{\"enabled\":false,\"backend_setting\":\"default\"},\"saved_views\":{\"warn_on_unsaved_change\":true},\"notes_enabled\":true,\"tour_complete\":true},\"permissions\":[\"delete_permission\",\"change_user\",\"delete_tokenproxy\",\"delete_chordcounter\",\"change_uisettings\",\"delete_note\",\"change_session\",\"change_schedule\",\"add_userobjectpermission\",\"view_userobjectpermission\",\"change_taskattributes\",\"delete_tag\",\"delete_logentry\",\"change_frontendsettings\",\"view_documenttype\",\"add_comment\",\"add_log\",\"add_uisettings\",\"view_document\",\"change_userobjectpermission\",\"view_session\",\"change_failure\",\"change_storagepath\",\"change_mailrule\",\"delete_token\",\"view_taskresult\",\"change_ormq\",\"view_storagepath\",\"view_savedview\",\"change_processedmail\",\"change_chordcounter\",\"delete_user\",\"delete_savedview\",\"delete_mailaccount\",\"view_uisettings\",\"view_user\",\"view_paperlesstask\",\"add_task\",\"delete_success\",\"view_groupresult\",\"delete_comment\",\"view_correspondent\",\"add_logentry\",\"add_contenttype\",\"change_task\",\"add_paperlesstask\",\"delete_savedviewfilterrule\",\"add_groupresult\",\"view_tokenproxy\",\"add_processedmail\",\"add_schedule\",\"add_ormq\",\"delete_paperlesstask\",\"change_log\",\"view_processedmail\",\"view_mailaccount\",\"change_groupobjectpermission\",\"delete_ormq\",\"delete_documenttype\",\"add_success\",\"view_frontendsettings\",\"delete_correspondent\",\"view_failure\",\"view_ormq\",\"delete_taskattributes\",\"change_group\",\"add_failure\",\"delete_failure\",\"delete_taskresult\",\"view_savedviewfilterrule\",\"view_token\",\"add_chordcounter\",\"add_savedview\",\"change_paperlesstask\",\"delete_log\",\"add_user\",\"change_token\",\"change_note\",\"add_savedviewfilterrule\",\"change_savedview\",\"delete_group\",\"delete_userobjectpermission\",\"view_schedule\",\"delete_document\",\"add_tokenproxy\",\"change_permission\",\"delete_mailrule\",\"view_logentry\",\"add_permission\",\"delete_groupobjectpermission\",\"view_log\",\"view_taskattributes\",\"change_taskresult\",\"change_mailaccount\",\"delete_contenttype\",\"change_correspondent\",\"add_groupobjectpermission\",\"delete_processedmail\",\"view_note\",\"add_taskattributes\",\"add_document\",\"delete_task\",\"change_logentry\",\"change_contenttype\",\"delete_schedule\",\"delete_session\",\"add_token\",\"view_permission\",\"add_taskresult\",\"add_storagepath\",\"change_tag\",\"view_group\",\"add_note\",\"change_documenttype\",\"change_groupresult\",\"delete_frontendsettings\",\"view_chordcounter\",\"view_groupobjectpermission\",\"add_frontendsettings\",\"change_comment\",\"view_task\",\"add_correspondent\",\"view_comment\",\"view_contenttype\",\"change_success\",\"add_group\",\"add_session\",\"view_mailrule\",\"add_mailrule\",\"delete_storagepath\",\"add_tag\",\"view_tag\",\"add_documenttype\",\"add_mailaccount\",\"change_document\",\"delete_uisettings\",\"view_success\",\"change_savedviewfilterrule\",\"change_tokenproxy\",\"delete_groupresult\"]}"
|
||||
},
|
||||
"headersSize": -1,
|
||||
"bodySize": -1,
|
||||
"redirectURL": ""
|
||||
},
|
||||
"cache": {},
|
||||
"timings": { "send": -1, "wait": -1, "receive": 5.666 }
|
||||
},
|
||||
{
|
||||
"startedDateTime": "2023-05-14T07:14:44.124Z",
|
||||
"time": 1.146,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "http://localhost:8000/api/saved_views/?page=1&page_size=100000",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Accept", "value": "application/json; version=3" },
|
||||
{ "name": "Accept-Encoding", "value": "gzip, deflate, br" },
|
||||
{ "name": "Accept-Language", "value": "en-US" },
|
||||
{ "name": "Connection", "value": "keep-alive" },
|
||||
{ "name": "Host", "value": "localhost:8000" },
|
||||
{ "name": "Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Referer", "value": "http://localhost:4200/" },
|
||||
{ "name": "Sec-Fetch-Dest", "value": "empty" },
|
||||
{ "name": "Sec-Fetch-Mode", "value": "cors" },
|
||||
{ "name": "Sec-Fetch-Site", "value": "same-site" },
|
||||
{ "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.53 Safari/537.36" }
|
||||
],
|
||||
"queryString": [
|
||||
{
|
||||
"name": "page",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"name": "page_size",
|
||||
"value": "100000"
|
||||
}
|
||||
],
|
||||
"headersSize": -1,
|
||||
"bodySize": -1
|
||||
},
|
||||
"response": {
|
||||
"status": 200,
|
||||
"statusText": "OK",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Access-Control-Allow-Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Allow", "value": "GET, POST, HEAD, OPTIONS" },
|
||||
{ "name": "Content-Encoding", "value": "br" },
|
||||
{ "name": "Content-Language", "value": "en-us" },
|
||||
{ "name": "Content-Length", "value": "851" },
|
||||
{ "name": "Content-Type", "value": "application/json" },
|
||||
{ "name": "Cross-Origin-Opener-Policy", "value": "same-origin" },
|
||||
{ "name": "Referrer-Policy", "value": "same-origin" },
|
||||
{ "name": "Vary", "value": "Accept, Accept-Language, Origin, Cookie, Accept-Encoding" },
|
||||
{ "name": "X-Api-Version", "value": "3" },
|
||||
{ "name": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "name": "X-Frame-Options", "value": "ANY" },
|
||||
{ "name": "X-Version", "value": "1.14.4" }
|
||||
],
|
||||
"content": {
|
||||
"size": -1,
|
||||
"mimeType": "application/json",
|
||||
"text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10,11,12,61,62,63,64,65,66,67,68,13,14,15,16,117,118,119,120,121,122,123,124,113,114,115,116,77,78,79,80,85,86,87,88,69,70,71,72,81,82,83,84,73,74,75,76,33,34,35,36,21,22,23,24,37,38,39,40,89,90,91,92,29,30,31,32,109,137,110,138,111,139,112,140,105,106,107,108,41,42,43,44,45,46,47,48,93,94,95,96,25,26,27,28,101,102,103,104,97,98,99,100,125,126,127,128,129,130,131,132,49,50,51,52,53,54,55,56,133,134,135,136,17,18,19,20]},\"user_can_change\":true},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10,11,12,61,62,63,64,65,66,67,68,13,14,15,16,117,118,119,120,121,122,123,124,113,114,115,116,77,78,79,80,85,86,87,88,69,70,71,72,81,82,83,84,73,74,75,76,33,34,35,36,21,22,23,24,37,38,39,40,89,90,91,92,29,30,31,32,109,137,110,138,111,139,112,140,105,106,107,108,41,42,43,44,45,46,47,48,93,94,95,96,25,26,27,28,101,102,103,104,97,98,99,100,125,126,127,128,129,130,131,132,49,50,51,52,53,54,55,56,133,134,135,136,17,18,19,20]},\"user_can_change\":true},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10,11,12,61,62,63,64,65,66,67,68,13,14,15,16,117,118,119,120,121,122,123,124,113,114,115,116,77,78,79,80,85,86,87,88,69,70,71,72,81,82,83,84,73,74,75,76,33,34,35,36,21,22,23,24,37,38,39,40,89,90,91,92,29,30,31,32,109,137,110,138,111,139,112,140,105,106,107,108,41,42,43,44,45,46,47,48,93,94,95,96,25,26,27,28,101,102,103,104,97,98,99,100,125,126,127,128,129,130,131,132,49,50,51,52,53,54,55,56,133,134,135,136,17,18,19,20]},\"user_can_change\":true},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10,11,12,61,62,63,64,65,66,67,68,13,14,15,16,117,118,119,120,121,122,123,124,113,114,115,116,77,78,79,80,85,86,87,88,69,70,71,72,81,82,83,84,73,74,75,76,33,34,35,36,21,22,23,24,37,38,39,40,89,90,91,92,29,30,31,32,109,137,110,138,111,139,112,140,105,106,107,108,41,42,43,44,45,46,47,48,93,94,95,96,25,26,27,28,101,102,103,104,97,98,99,100,125,126,127,128,129,130,131,132,49,50,51,52,53,54,55,56,133,134,135,136,17,18,19,20]},\"user_can_change\":true},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10Line truncated
|
||||
},
|
||||
"headersSize": -1,
|
||||
"bodySize": -1,
|
||||
"redirectURL": ""
|
||||
},
|
||||
"cache": {},
|
||||
"timings": { "send": -1, "wait": -1, "receive": 1.146 }
|
||||
},
|
||||
{
|
||||
"startedDateTime": "2023-05-14T07:14:44.124Z",
|
||||
"time": 0.586,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "http://localhost:8000/api/tasks/",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Accept", "value": "application/json; version=3" },
|
||||
{ "name": "Accept-Encoding", "value": "gzip, deflate, br" },
|
||||
{ "name": "Accept-Language", "value": "en-US" },
|
||||
{ "name": "Connection", "value": "keep-alive" },
|
||||
{ "name": "Host", "value": "localhost:8000" },
|
||||
{ "name": "Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Referer", "value": "http://localhost:4200/" },
|
||||
{ "name": "Sec-Fetch-Dest", "value": "empty" },
|
||||
{ "name": "Sec-Fetch-Mode", "value": "cors" },
|
||||
{ "name": "Sec-Fetch-Site", "value": "same-site" },
|
||||
{ "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.53 Safari/537.36" }
|
||||
],
|
||||
"queryString": [],
|
||||
"headersSize": -1,
|
||||
"bodySize": -1
|
||||
},
|
||||
"response": {
|
||||
"status": 200,
|
||||
"statusText": "OK",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Access-Control-Allow-Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Allow", "value": "GET, HEAD, OPTIONS" },
|
||||
{ "name": "Content-Language", "value": "en-us" },
|
||||
{ "name": "Content-Length", "value": "2" },
|
||||
{ "name": "Content-Type", "value": "application/json" },
|
||||
{ "name": "Cross-Origin-Opener-Policy", "value": "same-origin" },
|
||||
{ "name": "Referrer-Policy", "value": "same-origin" },
|
||||
{ "name": "Vary", "value": "Accept, Accept-Language, Origin, Cookie" },
|
||||
{ "name": "X-Api-Version", "value": "3" },
|
||||
{ "name": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "name": "X-Frame-Options", "value": "ANY" },
|
||||
{ "name": "X-Version", "value": "1.14.4" }
|
||||
],
|
||||
"content": {
|
||||
"size": -1,
|
||||
"mimeType": "application/json",
|
||||
"text": "[]"
|
||||
},
|
||||
"headersSize": -1,
|
||||
"bodySize": -1,
|
||||
"redirectURL": ""
|
||||
},
|
||||
"cache": {},
|
||||
"timings": { "send": -1, "wait": -1, "receive": 0.586 }
|
||||
},
|
||||
{
|
||||
"startedDateTime": "2023-05-14T07:14:44.124Z",
|
||||
"time": 0.541,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "http://localhost:8000/api/correspondents/?page=1&full_perms=true",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Accept", "value": "application/json; version=3" },
|
||||
{ "name": "Accept-Encoding", "value": "gzip, deflate, br" },
|
||||
{ "name": "Accept-Language", "value": "en-US" },
|
||||
{ "name": "Connection", "value": "keep-alive" },
|
||||
{ "name": "Host", "value": "localhost:8000" },
|
||||
{ "name": "Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Referer", "value": "http://localhost:4200/" },
|
||||
{ "name": "Sec-Fetch-Dest", "value": "empty" },
|
||||
{ "name": "Sec-Fetch-Mode", "value": "cors" },
|
||||
{ "name": "Sec-Fetch-Site", "value": "same-site" },
|
||||
{ "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.53 Safari/537.36" }
|
||||
],
|
||||
"queryString": [
|
||||
{
|
||||
"name": "page",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"name": "full_perms",
|
||||
"value": "true"
|
||||
}
|
||||
],
|
||||
"headersSize": -1,
|
||||
"bodySize": -1
|
||||
},
|
||||
"response": {
|
||||
"status": 200,
|
||||
"statusText": "OK",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Access-Control-Allow-Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Allow", "value": "GET, POST, HEAD, OPTIONS" },
|
||||
{ "name": "Content-Encoding", "value": "br" },
|
||||
{ "name": "Content-Language", "value": "en-us" },
|
||||
{ "name": "Content-Length", "value": "303" },
|
||||
{ "name": "Content-Type", "value": "application/json" },
|
||||
{ "name": "Cross-Origin-Opener-Policy", "value": "same-origin" },
|
||||
{ "name": "Referrer-Policy", "value": "same-origin" },
|
||||
{ "name": "Vary", "value": "Accept, Accept-Language, Origin, Cookie, Accept-Encoding" },
|
||||
{ "name": "X-Api-Version", "value": "3" },
|
||||
{ "name": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "name": "X-Frame-Options", "value": "ANY" },
|
||||
{ "name": "X-Version", "value": "1.14.4" }
|
||||
],
|
||||
"content": {
|
||||
"size": -1,
|
||||
"mimeType": "application/json",
|
||||
"text": "{\"count\":4,\"next\":null,\"previous\":null,\"all\":[17,12,4,1],\"results\":[{\"id\":17,\"slug\":\"correspondent-14\",\"name\":\"Correspondent 14\",\"match\":\"\",\"matching_algorithm\":1,\"is_insensitive\":true,\"document_count\":2,\"last_correspondence\":\"2022-03-13T00:00:00Z\",\"owner\":15,\"permissions\":{\"view\":{\"users\":[3,2],\"groups\":[]},\"change\":{\"users\":[3],\"groups\":[]}}},{\"id\":12,\"slug\":\"correspondent-9\",\"name\":\"Correspondent 9\",\"match\":\"\",\"matching_algorithm\":6,\"is_insensitive\":true,\"document_count\":4,\"last_correspondence\":\"2022-10-03T00:00:00Z\",\"owner\":2,\"permissions\":{\"view\":{\"users\":[],\"groups\":[]},\"change\":{\"users\":[],\"groups\":[]}}},{\"id\":4,\"slug\":\"newest-correspondent\",\"name\":\"Newest Correspondent\",\"match\":\"\",\"matching_algorithm\":1,\"is_insensitive\":true,\"document_count\":1,\"last_correspondence\":\"2021-02-07T08:00:00Z\",\"owner\":2,\"permissions\":{\"view\":{\"users\":[],\"groups\":[]},\"change\":{\"users\":[],\"groups\":[]}}},{\"id\":1,\"slug\":\"test-correspondent-1\",\"name\":\"Test Correspondent 1\",\"match\":\"\",\"matching_algorithm\":1,\"is_insensitive\":true,\"document_count\":3,\"last_correspondence\":\"2022-10-02T00:00:00Z\",\"owner\":2,\"permissions\":{\"view\":{\"users\":[],\"groups\":[]},\"change\":{\"users\":[],\"groups\":[]}}}]}"
|
||||
},
|
||||
"headersSize": -1,
|
||||
"bodySize": -1,
|
||||
"redirectURL": ""
|
||||
},
|
||||
"cache": {},
|
||||
"timings": { "send": -1, "wait": -1, "receive": 0.541 }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -101,65 +101,3 @@ test('should support tab direct navigation', async ({ page }) => {
|
||||
page.getByRole('tab', { name: 'Users & Groups' })
|
||||
).toHaveAttribute('aria-selected', 'true')
|
||||
})
|
||||
|
||||
test('should show a list of mail accounts & support creation', async ({
|
||||
page,
|
||||
}) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR2, { notFound: 'fallback' })
|
||||
await page.goto('/settings/mail')
|
||||
await expect(
|
||||
page.getByRole('listitem').filter({ hasText: 'imap.gmail.com' })
|
||||
).toHaveCount(1)
|
||||
await expect(
|
||||
page.getByRole('listitem').filter({ hasText: 'imap.domain.com' })
|
||||
).toHaveCount(1)
|
||||
await page.getByRole('button', { name: /Add Account/ }).click()
|
||||
await expect(page.getByRole('dialog')).toHaveCount(1)
|
||||
await page.getByLabel('Name', { exact: true }).fill('Test Account')
|
||||
await page.getByLabel('IMAP Server', { exact: true }).fill('imap.server.com')
|
||||
await page.getByLabel('IMAP Port', { exact: true }).fill('993')
|
||||
await page.getByLabel('Username', { exact: true }).fill('username')
|
||||
await page.getByLabel('Password', { exact: true }).fill('password')
|
||||
const createPromise = page.waitForRequest((request) => {
|
||||
const data = request.postDataJSON()
|
||||
const isValid = data['imap_server'] === 'imap.server.com'
|
||||
return (
|
||||
isValid &&
|
||||
request.method() === 'POST' &&
|
||||
request.url().includes('/api/mail_accounts/')
|
||||
)
|
||||
})
|
||||
await page.getByRole('button', { name: 'Save' }).click()
|
||||
await createPromise
|
||||
})
|
||||
|
||||
test('should show a list of mail rules & support creation', async ({
|
||||
page,
|
||||
}) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR3, { notFound: 'fallback' })
|
||||
await page.goto('/settings/mail')
|
||||
await expect(
|
||||
page.getByRole('listitem').filter({ hasText: 'domain' })
|
||||
).toHaveCount(2)
|
||||
await expect(
|
||||
page.getByRole('listitem').filter({ hasText: 'gmail' })
|
||||
).toHaveCount(2)
|
||||
await page.getByRole('button', { name: /Add Rule/ }).click()
|
||||
await expect(page.getByRole('dialog')).toHaveCount(1)
|
||||
await page.getByLabel('Name', { exact: true }).fill('Test Rule')
|
||||
await page.getByTitle('Account').locator('span').first().click()
|
||||
await page.getByRole('option', { name: 'gmail' }).click()
|
||||
await page.getByLabel('Maximum age (days)').fill('0')
|
||||
const createPromise = page.waitForRequest((request) => {
|
||||
const data = request.postDataJSON()
|
||||
const isValid = data['name'] === 'Test Rule'
|
||||
return (
|
||||
isValid &&
|
||||
request.method() === 'POST' &&
|
||||
request.url().includes('/api/mail_rules/')
|
||||
)
|
||||
})
|
||||
await page.getByRole('button', { name: 'Save' }).scrollIntoViewIfNeeded()
|
||||
await page.getByRole('button', { name: 'Save' }).click()
|
||||
await createPromise
|
||||
})
|
||||
@@ -1,252 +0,0 @@
|
||||
{
|
||||
"log": {
|
||||
"version": "1.2",
|
||||
"creator": {
|
||||
"name": "Playwright",
|
||||
"version": "1.33.0"
|
||||
},
|
||||
"browser": {
|
||||
"name": "chromium",
|
||||
"version": "113.0.5672.53"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
"startedDateTime": "2023-05-14T07:31:08.554Z",
|
||||
"time": 5.952,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "http://localhost:8000/api/ui_settings/",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Accept", "value": "application/json; version=3" },
|
||||
{ "name": "Accept-Encoding", "value": "gzip, deflate, br" },
|
||||
{ "name": "Accept-Language", "value": "en-US" },
|
||||
{ "name": "Connection", "value": "keep-alive" },
|
||||
{ "name": "Host", "value": "localhost:8000" },
|
||||
{ "name": "Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Referer", "value": "http://localhost:4200/" },
|
||||
{ "name": "Sec-Fetch-Dest", "value": "empty" },
|
||||
{ "name": "Sec-Fetch-Mode", "value": "cors" },
|
||||
{ "name": "Sec-Fetch-Site", "value": "same-site" },
|
||||
{ "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.53 Safari/537.36" }
|
||||
],
|
||||
"queryString": [],
|
||||
"headersSize": -1,
|
||||
"bodySize": -1
|
||||
},
|
||||
"response": {
|
||||
"status": 200,
|
||||
"statusText": "OK",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Access-Control-Allow-Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Allow", "value": "GET, POST, HEAD, OPTIONS" },
|
||||
{ "name": "Content-Encoding", "value": "br" },
|
||||
{ "name": "Content-Language", "value": "en-us" },
|
||||
{ "name": "Content-Length", "value": "965" },
|
||||
{ "name": "Content-Type", "value": "application/json" },
|
||||
{ "name": "Cross-Origin-Opener-Policy", "value": "same-origin" },
|
||||
{ "name": "Referrer-Policy", "value": "same-origin" },
|
||||
{ "name": "Vary", "value": "Accept, Accept-Language, Origin, Cookie, Accept-Encoding" },
|
||||
{ "name": "X-Api-Version", "value": "3" },
|
||||
{ "name": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "name": "X-Frame-Options", "value": "ANY" },
|
||||
{ "name": "X-Version", "value": "1.14.4" }
|
||||
],
|
||||
"content": {
|
||||
"size": -1,
|
||||
"mimeType": "application/json",
|
||||
"text": "{\"user\":{\"id\":2,\"username\":\"testuser\",\"is_superuser\":false,\"groups\":[]},\"settings\":{\"language\":\"\",\"bulk_edit\":{\"confirmation_dialogs\":true,\"apply_on_close\":false},\"documentListSize\":50,\"dark_mode\":{\"use_system\":false,\"enabled\":\"false\",\"thumb_inverted\":\"true\"},\"theme\":{\"color\":\"#9fbf2f\"},\"document_details\":{\"native_pdf_viewer\":false},\"date_display\":{\"date_locale\":\"\",\"date_format\":\"mediumDate\"},\"notifications\":{\"consumer_new_documents\":true,\"consumer_success\":true,\"consumer_failed\":true,\"consumer_suppress_on_dashboard\":true},\"comments_enabled\":true,\"slim_sidebar\":false,\"update_checking\":{\"enabled\":false,\"backend_setting\":\"default\"},\"saved_views\":{\"warn_on_unsaved_change\":true},\"notes_enabled\":true,\"tour_complete\":true},\"permissions\":[\"view_document\",\"view_tag\",\"change_document\",\"change_chordcounter\",\"add_comment\",\"view_task\",\"add_groupresult\",\"change_user\",\"view_note\",\"delete_document\",\"change_group\",\"add_documenttype\",\"add_storagepath\",\"delete_groupresult\",\"add_tag\",\"delete_mailaccount\",\"delete_savedview\",\"view_contenttype\",\"change_failure\",\"view_token\",\"add_chordcounter\",\"add_mailaccount\",\"change_frontendsettings\",\"add_taskresult\",\"change_taskattributes\",\"view_frontendsettings\",\"add_groupobjectpermission\",\"change_session\",\"change_mailaccount\",\"change_contenttype\",\"view_group\",\"view_savedviewfilterrule\",\"view_mailaccount\",\"delete_processedmail\",\"delete_chordcounter\",\"change_permission\",\"change_tokenproxy\",\"add_task\",\"view_paperlesstask\",\"delete_taskattributes\",\"add_success\",\"add_userobjectpermission\",\"add_note\",\"add_ormq\",\"view_ormq\",\"add_group\",\"view_session\",\"delete_tokenproxy\",\"add_paperlesstask\",\"delete_frontendsettings\",\"change_correspondent\",\"delete_failure\",\"add_correspondent\",\"change_paperlesstask\",\"add_document\",\"view_log\",\"change_log\",\"view_chordcounter\",\"change_processedmail\",\"change_storagepath\",\"add_savedview\",\"view_comment\",\"add_tokenproxy\",\"view_success\",\"change_userobjectpermission\",\"delete_task\",\"add_failure\",\"delete_uisettings\",\"change_note\",\"view_taskresult\",\"delete_userobjectpermission\",\"delete_session\",\"delete_schedule\",\"delete_groupobjectpermission\",\"view_mailrule\",\"view_logentry\",\"view_savedview\",\"view_processedmail\",\"view_groupobjectpermission\",\"delete_documenttype\",\"delete_success\",\"view_schedule\",\"change_task\",\"change_savedviewfilterrule\",\"view_correspondent\",\"delete_savedviewfilterrule\",\"change_savedview\",\"view_uisettings\",\"view_groupresult\",\"view_tokenproxy\",\"delete_correspondent\",\"add_schedule\",\"add_processedmail\",\"delete_log\",\"change_comment\",\"add_logentry\",\"change_ormq\",\"delete_group\",\"delete_ormq\",\"change_uisettings\",\"delete_paperlesstask\",\"add_mailrule\",\"delete_logentry\",\"change_documenttype\",\"delete_comment\",\"change_logentry\",\"add_contenttype\",\"add_taskattributes\",\"change_groupobjectpermission\",\"delete_mailrule\",\"view_failure\",\"view_documenttype\",\"delete_taskresult\",\"change_groupresult\",\"change_tag\",\"view_taskattributes\",\"delete_user\",\"delete_token\",\"add_frontendsettings\",\"delete_permission\",\"change_success\",\"delete_note\",\"add_savedviewfilterrule\",\"delete_storagepath\",\"change_token\",\"view_permission\",\"add_user\",\"add_permission\",\"add_log\",\"delete_tag\",\"change_mailrule\",\"view_userobjectpermission\",\"add_token\",\"change_taskresult\",\"change_schedule\",\"view_storagepath\",\"delete_contenttype\",\"view_user\",\"add_uisettings\",\"add_session\"]}"
|
||||
},
|
||||
"headersSize": -1,
|
||||
"bodySize": -1,
|
||||
"redirectURL": ""
|
||||
},
|
||||
"cache": {},
|
||||
"timings": { "send": -1, "wait": -1, "receive": 5.952 }
|
||||
},
|
||||
{
|
||||
"startedDateTime": "2023-05-14T07:31:08.676Z",
|
||||
"time": 1.083,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "http://localhost:8000/api/saved_views/?page=1&page_size=100000",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Accept", "value": "application/json; version=3" },
|
||||
{ "name": "Accept-Encoding", "value": "gzip, deflate, br" },
|
||||
{ "name": "Accept-Language", "value": "en-US" },
|
||||
{ "name": "Connection", "value": "keep-alive" },
|
||||
{ "name": "Host", "value": "localhost:8000" },
|
||||
{ "name": "Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Referer", "value": "http://localhost:4200/" },
|
||||
{ "name": "Sec-Fetch-Dest", "value": "empty" },
|
||||
{ "name": "Sec-Fetch-Mode", "value": "cors" },
|
||||
{ "name": "Sec-Fetch-Site", "value": "same-site" },
|
||||
{ "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.53 Safari/537.36" }
|
||||
],
|
||||
"queryString": [
|
||||
{
|
||||
"name": "page",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"name": "page_size",
|
||||
"value": "100000"
|
||||
}
|
||||
],
|
||||
"headersSize": -1,
|
||||
"bodySize": -1
|
||||
},
|
||||
"response": {
|
||||
"status": 200,
|
||||
"statusText": "OK",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Access-Control-Allow-Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Allow", "value": "GET, POST, HEAD, OPTIONS" },
|
||||
{ "name": "Content-Encoding", "value": "br" },
|
||||
{ "name": "Content-Language", "value": "en-us" },
|
||||
{ "name": "Content-Length", "value": "851" },
|
||||
{ "name": "Content-Type", "value": "application/json" },
|
||||
{ "name": "Cross-Origin-Opener-Policy", "value": "same-origin" },
|
||||
{ "name": "Referrer-Policy", "value": "same-origin" },
|
||||
{ "name": "Vary", "value": "Accept, Accept-Language, Origin, Cookie, Accept-Encoding" },
|
||||
{ "name": "X-Api-Version", "value": "3" },
|
||||
{ "name": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "name": "X-Frame-Options", "value": "ANY" },
|
||||
{ "name": "X-Version", "value": "1.14.4" }
|
||||
],
|
||||
"content": {
|
||||
"size": -1,
|
||||
"mimeType": "application/json",
|
||||
"text": "{\"count\":6,\"next\":null,\"previous\":null,\"all\":[8,17,7,4,11,15],\"results\":[{\"id\":8,\"name\":\"Correspondent 2\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":3,\"value\":\"2\"}],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10,11,12,61,62,63,64,65,66,67,68,13,14,15,16,117,118,119,120,121,122,123,124,113,114,115,116,77,78,79,80,85,86,87,88,69,70,71,72,81,82,83,84,73,74,75,76,33,34,35,36,21,22,23,24,37,38,39,40,89,90,91,92,29,30,31,32,109,137,110,138,111,139,112,140,105,106,107,108,41,42,43,44,45,46,47,48,93,94,95,96,25,26,27,28,101,102,103,104,97,98,99,100,125,126,127,128,129,130,131,132,49,50,51,52,53,54,55,56,133,134,135,136,17,18,19,20]},\"user_can_change\":true},{\"id\":17,\"name\":\"In the Last Month\",\"show_on_dashboard\":false,\"show_in_sidebar\":false,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":20,\"value\":\"created:[-1 month to now]\"}],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10,11,12,61,62,63,64,65,66,67,68,13,14,15,16,117,118,119,120,121,122,123,124,113,114,115,116,77,78,79,80,85,86,87,88,69,70,71,72,81,82,83,84,73,74,75,76,33,34,35,36,21,22,23,24,37,38,39,40,89,90,91,92,29,30,31,32,109,137,110,138,111,139,112,140,105,106,107,108,41,42,43,44,45,46,47,48,93,94,95,96,25,26,27,28,101,102,103,104,97,98,99,100,125,126,127,128,129,130,131,132,49,50,51,52,53,54,55,56,133,134,135,136,17,18,19,20]},\"user_can_change\":true},{\"id\":7,\"name\":\"Inbox\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"9\"}],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10,11,12,61,62,63,64,65,66,67,68,13,14,15,16,117,118,119,120,121,122,123,124,113,114,115,116,77,78,79,80,85,86,87,88,69,70,71,72,81,82,83,84,73,74,75,76,33,34,35,36,21,22,23,24,37,38,39,40,89,90,91,92,29,30,31,32,109,137,110,138,111,139,112,140,105,106,107,108,41,42,43,44,45,46,47,48,93,94,95,96,25,26,27,28,101,102,103,104,97,98,99,100,125,126,127,128,129,130,131,132,49,50,51,52,53,54,55,56,133,134,135,136,17,18,19,20]},\"user_can_change\":true},{\"id\":4,\"name\":\"Recently Added\",\"show_on_dashboard\":true,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10,11,12,61,62,63,64,65,66,67,68,13,14,15,16,117,118,119,120,121,122,123,124,113,114,115,116,77,78,79,80,85,86,87,88,69,70,71,72,81,82,83,84,73,74,75,76,33,34,35,36,21,22,23,24,37,38,39,40,89,90,91,92,29,30,31,32,109,137,110,138,111,139,112,140,105,106,107,108,41,42,43,44,45,46,47,48,93,94,95,96,25,26,27,28,101,102,103,104,97,98,99,100,125,126,127,128,129,130,131,132,49,50,51,52,53,54,55,56,133,134,135,136,17,18,19,20]},\"user_can_change\":true},{\"id\":11,\"name\":\"Tag: Another Sample Tag\",\"show_on_dashboard\":false,\"show_in_sidebar\":true,\"sort_field\":\"created\",\"sort_reverse\":true,\"filter_rules\":[{\"rule_type\":6,\"value\":\"4\"}],\"owner\":{\"id\":2,\"password\":\"pbkdf2_sha256$390000$ElHGEQzOIS3Gv2wu8YDbSt$bWASwmUfHtFMZ6+rG+4rrrtejjC9RiwXm6xMi0bxMZo=\",\"last_login\":\"2023-04-26T09:08:14Z\",\"is_superuser\":false,\"username\":\"testuser\",\"first_name\":\"\",\"last_name\":\"\",\"email\":\"test@user.com\",\"is_staff\":true,\"is_active\":true,\"date_joined\":\"2021-01-03T07:37:04Z\",\"groups\":[],\"user_permissions\":[57,58,59,60,5,6,7,8,1,2,3,4,9,10Line truncated
|
||||
},
|
||||
"headersSize": -1,
|
||||
"bodySize": -1,
|
||||
"redirectURL": ""
|
||||
},
|
||||
"cache": {},
|
||||
"timings": { "send": -1, "wait": -1, "receive": 1.083 }
|
||||
},
|
||||
{
|
||||
"startedDateTime": "2023-05-14T07:31:08.676Z",
|
||||
"time": 0.792,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "http://localhost:8000/api/tasks/",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Accept", "value": "application/json; version=3" },
|
||||
{ "name": "Accept-Encoding", "value": "gzip, deflate, br" },
|
||||
{ "name": "Accept-Language", "value": "en-US" },
|
||||
{ "name": "Connection", "value": "keep-alive" },
|
||||
{ "name": "Host", "value": "localhost:8000" },
|
||||
{ "name": "Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Referer", "value": "http://localhost:4200/" },
|
||||
{ "name": "Sec-Fetch-Dest", "value": "empty" },
|
||||
{ "name": "Sec-Fetch-Mode", "value": "cors" },
|
||||
{ "name": "Sec-Fetch-Site", "value": "same-site" },
|
||||
{ "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.53 Safari/537.36" }
|
||||
],
|
||||
"queryString": [],
|
||||
"headersSize": -1,
|
||||
"bodySize": -1
|
||||
},
|
||||
"response": {
|
||||
"status": 200,
|
||||
"statusText": "OK",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Access-Control-Allow-Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Allow", "value": "GET, HEAD, OPTIONS" },
|
||||
{ "name": "Content-Encoding", "value": "br" },
|
||||
{ "name": "Content-Language", "value": "en-us" },
|
||||
{ "name": "Content-Length", "value": "820" },
|
||||
{ "name": "Content-Type", "value": "application/json" },
|
||||
{ "name": "Cross-Origin-Opener-Policy", "value": "same-origin" },
|
||||
{ "name": "Referrer-Policy", "value": "same-origin" },
|
||||
{ "name": "Vary", "value": "Accept, Accept-Language, Origin, Cookie, Accept-Encoding" },
|
||||
{ "name": "X-Api-Version", "value": "3" },
|
||||
{ "name": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "name": "X-Frame-Options", "value": "ANY" },
|
||||
{ "name": "X-Version", "value": "1.14.4" }
|
||||
],
|
||||
"content": {
|
||||
"size": -1,
|
||||
"mimeType": "application/json",
|
||||
"text": "[{\"id\":277,\"task_id\":\"ea55f432-64fa-4759-aa29-0a05c8642894\",\"task_file_name\":\"2023-05-07 merge-csv.com__6424d0db8ce87.csv\",\"date_created\":\"2023-05-10T06:31:31.894068Z\",\"date_done\":\"2023-05-10T06:31:33.572466Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 323 created\",\"acknowledged\":false,\"related_document\":\"323\"},{\"id\":275,\"task_id\":\"26868b23-ad92-434d-87a3-005a93ee5fdc\",\"task_file_name\":\"testhtml.txt\",\"date_created\":\"2023-05-10T04:45:05.292926Z\",\"date_done\":\"2023-05-10T04:45:13.632497Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 321 created\",\"acknowledged\":false,\"related_document\":\"321\"},{\"id\":274,\"task_id\":\"5526741d-2821-4629-89f2-deeeeb57a5d4\",\"task_file_name\":\"Screenshot 2023-05-09 at 7.06.07 PM.png\",\"date_created\":\"2023-05-10T04:30:20.533857Z\",\"date_done\":\"2023-05-10T04:30:36.603743Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 320 created\",\"acknowledged\":false,\"related_document\":\"320\"},{\"id\":264,\"task_id\":\"b1b4d448-ad5d-46de-99d8-737e636716df\",\"task_file_name\":\"cupcake.pdf\",\"date_created\":\"2023-04-26T16:23:37.487070Z\",\"date_done\":\"2023-04-26T16:23:40.119509Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 314 created\",\"acknowledged\":false,\"related_document\":\"314\"},{\"id\":256,\"task_id\":\"382592c4-4ae1-4ed6-8b21-2cfeb7892509\",\"task_file_name\":\"191092.pdf\",\"date_created\":\"2023-03-01T09:40:02.033028Z\",\"date_done\":\"2023-03-01T09:40:11.302398Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 312 created\",\"acknowledged\":false,\"related_document\":\"312\"},{\"id\":255,\"task_id\":\"10ca1a5b-3c08-442c-b2c8-7e4ae53657f1\",\"task_file_name\":\"191092.pdf\",\"date_created\":\"2023-03-01T09:26:03.093116Z\",\"date_done\":\"2023-03-01T09:26:07.223048Z\",\"type\":\"file\",\"status\":\"FAILURE\",\"result\":\"191092.pdf: Not consuming 191092.pdf: It is a duplicate of 191092 (#311)\",\"acknowledged\":false,\"related_document\":null},{\"id\":253,\"task_id\":\"10b9ca67-7d40-416f-bd3c-a8a3ef564a73\",\"task_file_name\":\"Has the new Kirkpatrick generation built a bet.pdf\",\"date_created\":\"2022-12-14T06:20:15.141128Z\",\"date_done\":\"2022-12-14T06:20:27.249651Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 310 created\",\"acknowledged\":false,\"related_document\":\"310\"},{\"id\":251,\"task_id\":\"09bddd67-e926-480a-97a5-a7cd2332ec06\",\"task_file_name\":\"App Kit.pdf\",\"date_created\":\"2022-12-14T06:00:05.654587Z\",\"date_done\":\"2022-12-14T06:00:28.848640Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 309 created\",\"acknowledged\":false,\"related_document\":\"309\"},{\"id\":246,\"task_id\":\"268173d2-54cc-4b16-8297-34a1893c5aa7\",\"task_file_name\":\"tablerates.csv\",\"date_created\":\"2022-12-12T21:19:52.258628Z\",\"date_done\":\"2022-12-12T21:19:52.638734Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 306 created\",\"acknowledged\":false,\"related_document\":\"306\"}]"
|
||||
},
|
||||
"headersSize": -1,
|
||||
"bodySize": -1,
|
||||
"redirectURL": ""
|
||||
},
|
||||
"cache": {},
|
||||
"timings": { "send": -1, "wait": -1, "receive": 0.792 }
|
||||
},
|
||||
{
|
||||
"startedDateTime": "2023-05-14T07:31:08.676Z",
|
||||
"time": 0.522,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "http://localhost:8000/api/tasks/",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Accept", "value": "application/json; version=3" },
|
||||
{ "name": "Accept-Encoding", "value": "gzip, deflate, br" },
|
||||
{ "name": "Accept-Language", "value": "en-US" },
|
||||
{ "name": "Connection", "value": "keep-alive" },
|
||||
{ "name": "Host", "value": "localhost:8000" },
|
||||
{ "name": "Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Referer", "value": "http://localhost:4200/" },
|
||||
{ "name": "Sec-Fetch-Dest", "value": "empty" },
|
||||
{ "name": "Sec-Fetch-Mode", "value": "cors" },
|
||||
{ "name": "Sec-Fetch-Site", "value": "same-site" },
|
||||
{ "name": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.53 Safari/537.36" }
|
||||
],
|
||||
"queryString": [],
|
||||
"headersSize": -1,
|
||||
"bodySize": -1
|
||||
},
|
||||
"response": {
|
||||
"status": 200,
|
||||
"statusText": "OK",
|
||||
"httpVersion": "HTTP/1.1",
|
||||
"cookies": [],
|
||||
"headers": [
|
||||
{ "name": "Access-Control-Allow-Origin", "value": "http://localhost:4200" },
|
||||
{ "name": "Allow", "value": "GET, HEAD, OPTIONS" },
|
||||
{ "name": "Content-Encoding", "value": "br" },
|
||||
{ "name": "Content-Language", "value": "en-us" },
|
||||
{ "name": "Content-Length", "value": "820" },
|
||||
{ "name": "Content-Type", "value": "application/json" },
|
||||
{ "name": "Cross-Origin-Opener-Policy", "value": "same-origin" },
|
||||
{ "name": "Referrer-Policy", "value": "same-origin" },
|
||||
{ "name": "Vary", "value": "Accept, Accept-Language, Origin, Cookie, Accept-Encoding" },
|
||||
{ "name": "X-Api-Version", "value": "3" },
|
||||
{ "name": "X-Content-Type-Options", "value": "nosniff" },
|
||||
{ "name": "X-Frame-Options", "value": "ANY" },
|
||||
{ "name": "X-Version", "value": "1.14.4" }
|
||||
],
|
||||
"content": {
|
||||
"size": -1,
|
||||
"mimeType": "application/json",
|
||||
"text": "[{\"id\":277,\"task_id\":\"ea55f432-64fa-4759-aa29-0a05c8642894\",\"task_file_name\":\"2023-05-07 merge-csv.com__6424d0db8ce87.csv\",\"date_created\":\"2023-05-10T06:31:31.894068Z\",\"date_done\":\"2023-05-10T06:31:33.572466Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 323 created\",\"acknowledged\":false,\"related_document\":\"323\"},{\"id\":275,\"task_id\":\"26868b23-ad92-434d-87a3-005a93ee5fdc\",\"task_file_name\":\"testhtml.txt\",\"date_created\":\"2023-05-10T04:45:05.292926Z\",\"date_done\":\"2023-05-10T04:45:13.632497Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 321 created\",\"acknowledged\":false,\"related_document\":\"321\"},{\"id\":274,\"task_id\":\"5526741d-2821-4629-89f2-deeeeb57a5d4\",\"task_file_name\":\"Screenshot 2023-05-09 at 7.06.07 PM.png\",\"date_created\":\"2023-05-10T04:30:20.533857Z\",\"date_done\":\"2023-05-10T04:30:36.603743Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 320 created\",\"acknowledged\":false,\"related_document\":\"320\"},{\"id\":264,\"task_id\":\"b1b4d448-ad5d-46de-99d8-737e636716df\",\"task_file_name\":\"cupcake.pdf\",\"date_created\":\"2023-04-26T16:23:37.487070Z\",\"date_done\":\"2023-04-26T16:23:40.119509Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 314 created\",\"acknowledged\":false,\"related_document\":\"314\"},{\"id\":256,\"task_id\":\"382592c4-4ae1-4ed6-8b21-2cfeb7892509\",\"task_file_name\":\"191092.pdf\",\"date_created\":\"2023-03-01T09:40:02.033028Z\",\"date_done\":\"2023-03-01T09:40:11.302398Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 312 created\",\"acknowledged\":false,\"related_document\":\"312\"},{\"id\":255,\"task_id\":\"10ca1a5b-3c08-442c-b2c8-7e4ae53657f1\",\"task_file_name\":\"191092.pdf\",\"date_created\":\"2023-03-01T09:26:03.093116Z\",\"date_done\":\"2023-03-01T09:26:07.223048Z\",\"type\":\"file\",\"status\":\"FAILURE\",\"result\":\"191092.pdf: Not consuming 191092.pdf: It is a duplicate of 191092 (#311)\",\"acknowledged\":false,\"related_document\":null},{\"id\":253,\"task_id\":\"10b9ca67-7d40-416f-bd3c-a8a3ef564a73\",\"task_file_name\":\"Has the new Kirkpatrick generation built a bet.pdf\",\"date_created\":\"2022-12-14T06:20:15.141128Z\",\"date_done\":\"2022-12-14T06:20:27.249651Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 310 created\",\"acknowledged\":false,\"related_document\":\"310\"},{\"id\":251,\"task_id\":\"09bddd67-e926-480a-97a5-a7cd2332ec06\",\"task_file_name\":\"App Kit.pdf\",\"date_created\":\"2022-12-14T06:00:05.654587Z\",\"date_done\":\"2022-12-14T06:00:28.848640Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 309 created\",\"acknowledged\":false,\"related_document\":\"309\"},{\"id\":246,\"task_id\":\"268173d2-54cc-4b16-8297-34a1893c5aa7\",\"task_file_name\":\"tablerates.csv\",\"date_created\":\"2022-12-12T21:19:52.258628Z\",\"date_done\":\"2022-12-12T21:19:52.638734Z\",\"type\":\"file\",\"status\":\"SUCCESS\",\"result\":\"Success. New document id 306 created\",\"acknowledged\":false,\"related_document\":\"306\"}]"
|
||||
},
|
||||
"headersSize": -1,
|
||||
"bodySize": -1,
|
||||
"redirectURL": ""
|
||||
},
|
||||
"cache": {},
|
||||
"timings": { "send": -1, "wait": -1, "receive": 0.522 }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
import { test, expect } from '@playwright/test'
|
||||
|
||||
const REQUESTS_HAR = 'e2e/tasks/requests/api-tasks.har'
|
||||
|
||||
test('should show a list of dismissable tasks in tabs', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' })
|
||||
await page.goto('/tasks')
|
||||
await expect(page.getByRole('tab', { name: /Failed/ })).toHaveText(/1/)
|
||||
await expect(
|
||||
page.getByRole('cell').filter({ hasText: 'Dismiss' })
|
||||
).toHaveCount(1)
|
||||
await expect(page.getByRole('tab', { name: /Complete/ })).toHaveText(/8/)
|
||||
await page.getByRole('tab', { name: /Complete/ }).click()
|
||||
await expect(
|
||||
page.getByRole('cell').filter({ hasText: 'Dismiss' })
|
||||
).toHaveCount(8)
|
||||
await page.getByRole('tab', { name: /Started/ }).click()
|
||||
await expect(
|
||||
page.getByRole('cell').filter({ hasText: 'Dismiss' })
|
||||
).toHaveCount(0)
|
||||
await page.getByRole('tab', { name: /Queued/ }).click()
|
||||
await expect(
|
||||
page.getByRole('cell').filter({ hasText: 'Dismiss' })
|
||||
).toHaveCount(0)
|
||||
})
|
||||
|
||||
test('should support dismissing tasks', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' })
|
||||
await page.goto('/tasks')
|
||||
await page.getByRole('tab', { name: /Failed/ }).click()
|
||||
const dismissPromise = page.waitForRequest((request) => {
|
||||
const data = request.postDataJSON()
|
||||
const isValid = Array.isArray(data['tasks']) && data['tasks'].includes(255)
|
||||
return (
|
||||
isValid &&
|
||||
request.method() === 'POST' &&
|
||||
request.url().includes('/api/acknowledge_tasks/')
|
||||
)
|
||||
})
|
||||
await page
|
||||
.getByRole('button', { name: 'Dismiss', exact: true })
|
||||
.first()
|
||||
.click()
|
||||
await dismissPromise
|
||||
})
|
||||
|
||||
test('should support dismiss all tasks', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' })
|
||||
await page.goto('/tasks')
|
||||
await expect(page.getByRole('button', { name: 'Dismiss all' })).toBeEnabled()
|
||||
await page.getByRole('button', { name: 'Dismiss all' }).click()
|
||||
const dismissPromise = page.waitForRequest((request) => {
|
||||
const data = request.postDataJSON()
|
||||
const isValid = Array.isArray(data['tasks'])
|
||||
return (
|
||||
isValid &&
|
||||
request.method() === 'POST' &&
|
||||
request.url().includes('/api/acknowledge_tasks/')
|
||||
)
|
||||
})
|
||||
await page.getByRole('button', { name: /Dismiss/ }).click()
|
||||
await dismissPromise
|
||||
})
|
||||
|
||||
test('should warn on dismiss all tasks', async ({ page }) => {
|
||||
await page.routeFromHAR(REQUESTS_HAR, { notFound: 'fallback' })
|
||||
await page.goto('/tasks')
|
||||
await expect(page.getByRole('button', { name: 'Dismiss all' })).toBeEnabled()
|
||||
await page.getByRole('button', { name: 'Dismiss all' }).click()
|
||||
await expect(page.getByRole('dialog')).toHaveCount(1)
|
||||
})
|
||||
Reference in new issue
Block a user