Skip to content

Commit

Permalink
fix(snjs): showing archived notes on trashed smart view (#1426)
Browse files Browse the repository at this point in the history
  • Loading branch information
Karol Sójko committed Aug 24, 2022
1 parent 26fe530 commit 2c69a51
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 4 deletions.
35 changes: 35 additions & 0 deletions packages/snjs/lib/Services/Items/ItemManager.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import {
FillItemContent,
PayloadTimestampDefaults,
NoteContent,
SmartView,
SystemViewId,
} from '@standardnotes/models'

const setupRandomUuid = () => {
Expand Down Expand Up @@ -179,6 +181,39 @@ describe('itemManager', () => {
const notes = itemManager.getDisplayableNotes()
expect(notes).toHaveLength(1)
})

it('viewing trashed notes smart view should include archived notes', async () => {
itemManager = createService()

const archivedNote = createNote('archived')
const trashedNote = createNote('trashed')
const archivedAndTrashedNote = createNote('archived&trashed')

await itemManager.insertItems([archivedNote, trashedNote, archivedAndTrashedNote])

await itemManager.changeItem<Models.NoteMutator>(archivedNote, (m) => {
m.archived = true
})
await itemManager.changeItem<Models.NoteMutator>(trashedNote, (m) => {
m.trashed = true
})
await itemManager.changeItem<Models.NoteMutator>(archivedAndTrashedNote, (m) => {
m.trashed = true
m.archived = true
})

itemManager.setPrimaryItemDisplayOptions({
sortBy: 'title',
sortDirection: 'asc',
includeArchived: false,
includeTrashed: false,
views: [{ uuid: SystemViewId.TrashedNotes } as jest.Mocked<SmartView>],
})

const notes = itemManager.getDisplayableNotes()

expect(notes).toHaveLength(2)
})
})

describe('tag relationships', () => {
Expand Down
8 changes: 4 additions & 4 deletions packages/snjs/lib/Services/Items/ItemManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,20 +127,20 @@ export class ItemManager
const override: Models.FilterDisplayOptions = {}

if (options.views && options.views.find((view) => view.uuid === Models.SystemViewId.AllNotes)) {
if (options.includeArchived == undefined) {
if (options.includeArchived === undefined) {
override.includeArchived = false
}
if (options.includeTrashed == undefined) {
if (options.includeTrashed === undefined) {
override.includeTrashed = false
}
}
if (options.views && options.views.find((view) => view.uuid === Models.SystemViewId.ArchivedNotes)) {
if (options.includeTrashed == undefined) {
if (options.includeTrashed === undefined) {
override.includeTrashed = false
}
}
if (options.views && options.views.find((view) => view.uuid === Models.SystemViewId.TrashedNotes)) {
if (options.includeArchived == undefined) {
if (!options.includeArchived) {
override.includeArchived = true
}
}
Expand Down

0 comments on commit 2c69a51

Please sign in to comment.