Updating tests for changes made with scheduling mails

This commit is contained in:
wrd 2025-12-05 10:27:02 +01:00
parent 707b28b9a6
commit 32aed0c3b8
11 changed files with 28 additions and 20 deletions

View file

@ -22,7 +22,6 @@ import {
listIdPart,
} from "../../../common/api/common/utils/EntityUtils.js"
import { CacheMode, EntityRestClientLoadOptions, OwnerEncSessionKeyProvider } from "../../../common/api/worker/rest/EntityRestClient.js"
import { isDraft } from "../../mail/model/MailChecks.js"
import {
File as TutanotaFile,
FileTypeRef,
@ -71,7 +70,7 @@ export class BulkMailLoader {
async loadMailDetails(mails: readonly Mail[], options: EntityRestClientLoadOptions = {}): Promise<MailWithMailDetails[]> {
const result: Array<MailWithMailDetails> = []
// mailDetails stored as blob
let mailDetailsBlobMails = mails.filter((m) => !isDraft(m))
let mailDetailsBlobMails = mails.filter((m) => !m.mailDetailsDraft)
const listIdToMailDetailsBlobIds: Map<Id, Array<Id>> = groupByAndMap(
mailDetailsBlobMails,
(m) => listIdPart(assertNotNull(m.mailDetails)),
@ -94,7 +93,7 @@ export class BulkMailLoader {
)
}
// mailDetails stored in db (draft)
let mailDetailsDraftMails = mails.filter((m) => isDraft(m))
let mailDetailsDraftMails = mails.filter((m) => m.mailDetailsDraft)
const listIdToMailDetailsDraftIds: Map<Id, Array<Id>> = groupByAndMap(
mailDetailsDraftMails,
(m) => listIdPart(assertNotNull(m.mailDetailsDraft)),

View file

@ -18,7 +18,6 @@ import {
MailTypeRef,
} from "../../../common/api/entities/tutanota/TypeRefs.js"
import { OfflineStorage, OfflineStorageCleaner } from "../../../common/api/worker/offline/OfflineStorage.js"
import { isDraft } from "../../mail/model/MailChecks.js"
import { UserTypeRef } from "../../../common/api/entities/sys/TypeRefs"
import { AccountType, OFFLINE_STORAGE_DEFAULT_TIME_RANGE_DAYS } from "../../../common/api/common/TutanotaConstants"
@ -117,12 +116,13 @@ export class MailOfflineCleaner implements OfflineStorageCleaner {
attachmentsToDelete.push(id)
}
if (isDraft(mail)) {
const mailDetailsId = assertNotNull(mail.mailDetailsDraft)
if (mail.mailDetailsDraft) {
const mailDetailsId = mail.mailDetailsDraft
mailDetailsDraftToDelete.push(mailDetailsId)
} else {
}
if (mail.mailDetails) {
// mailDetailsBlob
const mailDetailsId = assertNotNull(mail.mailDetails)
const mailDetailsId = mail.mailDetails
mailDetailsBlobToDelete.push(mailDetailsId)
}
}

View file

@ -1885,6 +1885,7 @@ o.spec("CryptoFacadeTest", function () {
processingState: ProcessingState.INBOX_RULE_APPLIED,
clientSpamClassifierResult: null,
processNeeded: false,
sendAt: null,
})
// casting here is fine, since we just want to mimic server response data

View file

@ -877,6 +877,7 @@ function createMailInstances({
_ownerEncSessionKey: new Uint8Array(),
mailDetails: mailDetailsBlobId,
attachments: attachmentIds,
//state: MailState.RECEIVED,
})
let mailDetailsBlob = createTestEntity(MailDetailsBlobTypeRef, {
_id: mailDetailsBlobId,

View file

@ -428,7 +428,7 @@ o.spec("SendMailModel", function () {
const e = await assertThrows(UserError, () => model.send(method, getConfirmation))
o(e?.message).equals(lang.get("noRecipients_msg"))
verify(getConfirmation(), { times: 0 })
verify(mailFacade.sendDraft(anything(), anything(), anything()), { times: 0 })
verify(mailFacade.sendDraft(anything(), anything(), anything(), anything()), { times: 0 })
verify(mailFacade.createDraft(anything()), { times: 0 })
verify(mailFacade.updateDraft(anything()), { times: 0 })
})
@ -444,7 +444,7 @@ o.spec("SendMailModel", function () {
const r = await model.send(method, getConfirmation)
o(r).equals(false)
verify(getConfirmation(), { times: 0 })
verify(mailFacade.sendDraft(anything(), anything(), anything()), { times: 0 })
verify(mailFacade.sendDraft(anything(), anything(), anything(), anything()), { times: 0 })
verify(mailFacade.createDraft(anything()), { times: 0 })
verify(mailFacade.updateDraft(anything()), { times: 0 })
})
@ -463,7 +463,7 @@ o.spec("SendMailModel", function () {
const e = await assertThrows(UserError, () => model.send(method, getConfirmation))
o(e?.message).equals(lang.get("noPreSharedPassword_msg"))
verify(mailFacade.sendDraft(anything(), anything(), anything()), { times: 0 })
verify(mailFacade.sendDraft(anything(), anything(), anything(), anything()), { times: 0 })
verify(mailFacade.createDraft(anything()), { times: 0 })
verify(mailFacade.updateDraft(anything()), { times: 0 })
})
@ -482,7 +482,7 @@ o.spec("SendMailModel", function () {
when(getConfirmation(anything())).thenResolve(false)
const r = await model.send(method, getConfirmation)
o(r).equals(false)
verify(mailFacade.sendDraft(anything(), anything(), anything()), { times: 0 })
verify(mailFacade.sendDraft(anything(), anything(), anything(), anything()), { times: 0 })
verify(mailFacade.createDraft(anything()), { times: 0 })
verify(mailFacade.updateDraft(anything()), { times: 0 })
})
@ -503,7 +503,7 @@ o.spec("SendMailModel", function () {
const r = await model.send(method, getConfirmation)
o(r).equals(true)
verify(mailFacade.sendDraft(anything(), anything(), anything()), { times: 1 })
verify(mailFacade.sendDraft(anything(), anything(), anything(), anything()), { times: 1 })
verify(mailFacade.createDraft(anything()), { times: 1 })
verify(mailFacade.updateDraft(anything()), { times: 0 })
@ -538,7 +538,7 @@ o.spec("SendMailModel", function () {
verify(getConfirmation(anything), { times: 0 })
verify(mailFacade.sendDraft(anything(), anything(), anything()), { times: 1 })
verify(mailFacade.sendDraft(anything(), anything(), anything(), anything()), { times: 1 })
verify(mailFacade.createDraft(anything()), { times: 1 })
verify(mailFacade.updateDraft(anything()), { times: 0 })

View file

@ -402,9 +402,10 @@ o.spec("MailViewerViewModel", function () {
o(viewModel.didErrorsOccur()).deepEquals(true)
})
o("changind sent mail from mail details draft to mail details blob", async function () {
o("changing sent mail from mail details draft to mail details blob", async function () {
const viewModel = makeViewModelWithHeaders("")
mail.mailDetailsDraft = ["draftListId", "draftId"]
mail.state = MailState.DRAFT
const mailDetailsBlob = mail.mailDetails
mail.mailDetails = null
@ -416,6 +417,7 @@ o.spec("MailViewerViewModel", function () {
o(viewModel.didErrorsOccur()).deepEquals(true)
mail.mailDetailsDraft = null
mail.state = MailState.RECEIVED
mail.mailDetails = mailDetailsBlob
await viewModel.loadAll(Promise.resolve())

View file

@ -1823,7 +1823,8 @@ mod tests {
),
"1769"=> JsonElement::String(
"0".to_string()
)
),
"1783"=> JsonElement::Null
}
}

View file

@ -44,5 +44,6 @@
"1677": null,
"1728": "1",
"1729": [],
"1769": "0"
"1769": "0",
"1783": null
}

View file

@ -44,5 +44,6 @@
"1677": null,
"1728": "1",
"1729": [],
"1769": "0"
"1769": "0",
"1783": null
}

View file

@ -44,5 +44,6 @@
"1677": null,
"1728": "1",
"1729": [],
"1769": "0"
"1769": "0",
"1783": null
}

View file

@ -44,5 +44,6 @@
"1677": null,
"1728": "1",
"1729": [],
"1769": "1"
"1769": "1",
"1783": null
}