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