Skip to content

Commit a0da428

Browse files
committed
Added tests for MAPI contact dto
1 parent c647bc0 commit a0da428

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

test/mapi-contact-test.ts

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import * as requests from '../src/model/requests/requests';
2+
import * as models from '../src/model/model';
3+
import 'mocha';
4+
import {expect} from 'chai';
5+
import {suiteBase} from "./suite-base";
6+
import uuidv4 from "uuid/v4";
7+
8+
9+
describe('MAPI contact tests', function() {
10+
let td = suiteBase(this);
11+
12+
it('Convert MAPI model to ContactDto #pipeline', async () => {
13+
const mapiContactDto = getMapiContactDto();
14+
const contactDto = await td.api().convertMapiContactModelToContactModel(
15+
new requests.ConvertMapiContactModelToContactModelRequest(mapiContactDto));
16+
expect(mapiContactDto.nameInfo.givenName).to.be.eq(contactDto.body.givenName);
17+
expect(mapiContactDto.nameInfo.surname).to.be.eq(contactDto.body.surname);
18+
});
19+
20+
it('Convert MAPI model to file #pipeline', async () => {
21+
const mapiContactDto = getMapiContactDto();
22+
const vcardFile = await td.api().convertMapiContactModelToFile(
23+
new requests.ConvertMapiContactModelToFileRequest('VCard', mapiContactDto));
24+
const vcardString = vcardFile.body.toString();
25+
expect(vcardString).to.contain(mapiContactDto.nameInfo.givenName);
26+
const mapiContactDtoConverted = await td.api().getContactFileAsMapiModel(
27+
new requests.GetContactFileAsMapiModelRequest('VCard', vcardFile.body));
28+
expect(mapiContactDto.nameInfo.surname).to.be.eq(mapiContactDtoConverted.body.nameInfo.surname);
29+
});
30+
31+
it('Mapi contact storage test #pipeline', async () => {
32+
const mapiContactDto = getMapiContactDto();
33+
const fileName = uuidv4() + '.msg';
34+
await td.api().saveMapiContactModel(
35+
new requests.SaveMapiContactModelRequest('Msg', fileName,
36+
new models.StorageModelRqOfMapiContactDto(mapiContactDto, td.getStorageFolderLocation())));
37+
const mapiContactFromStorage = await td.api().getMapiContactModel(
38+
new requests.GetMapiContactModelRequest('Msg', fileName, td.folder(), td.storage()));
39+
expect(mapiContactDto.nameInfo.surname).to.be.eq(mapiContactFromStorage.body.nameInfo.surname);
40+
});
41+
42+
function getMapiContactDto(): models.MapiContactDto {
43+
const mapiContactDto = new models.MapiContactDto();
44+
mapiContactDto.electronicAddresses = new models.MapiContactElectronicAddressPropertySetDto();
45+
mapiContactDto.electronicAddresses.defaultEmailAddress = new models.MapiContactElectronicAddressDto();
46+
mapiContactDto.electronicAddresses.defaultEmailAddress.emailAddress = "email@aspose.com";
47+
mapiContactDto.nameInfo = new models.MapiContactNamePropertySetDto();
48+
mapiContactDto.nameInfo.givenName = "Alex";
49+
mapiContactDto.nameInfo.surname = "Thomas";
50+
mapiContactDto.personalInfo = new models.MapiContactPersonalInfoPropertySetDto();
51+
mapiContactDto.personalInfo.businessHomePage = "www.aspose.com";
52+
mapiContactDto.professionalInfo = new models.MapiContactProfessionalPropertySetDto();
53+
mapiContactDto.professionalInfo.profession = "GENERAL DIRECTOR";
54+
mapiContactDto.telephones = new models.MapiContactTelephonePropertySetDto();
55+
mapiContactDto.telephones.primaryTelephoneNumber = "+49 211 4247 21";
56+
return mapiContactDto;
57+
}
58+
});

0 commit comments

Comments
 (0)