mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-02-23 23:54:13 +08:00
94 lines
2.6 KiB
Text
94 lines
2.6 KiB
Text
|
const Event = require('../../src/flux/models/event').default;
|
||
|
|
||
|
const json_event = {
|
||
|
__cls: 'Event',
|
||
|
id: '4ee4xbnx7pxdb9g7c2f8ncyto',
|
||
|
calendar_id: 'ci0k1wfyv533ccgox4t7uri4h',
|
||
|
account_id: '14e5bn96uizyuhidhcw5rfrb0',
|
||
|
description: null,
|
||
|
location: null,
|
||
|
participants: [
|
||
|
{
|
||
|
email: 'example@gmail.com',
|
||
|
name: 'Ben Bitdiddle',
|
||
|
status: 'yes',
|
||
|
},
|
||
|
],
|
||
|
read_only: false,
|
||
|
title: 'Meeting with Ben Bitdiddle',
|
||
|
when: {
|
||
|
object: 'timespan',
|
||
|
end_time: 1408123800,
|
||
|
start_time: 1408120200,
|
||
|
},
|
||
|
busy: true,
|
||
|
status: 'confirmed',
|
||
|
};
|
||
|
|
||
|
const when_1 = {
|
||
|
end_time: 1408123800,
|
||
|
start_time: 1408120200,
|
||
|
};
|
||
|
|
||
|
const participant_1 = {
|
||
|
name: 'Ethan Blackburn',
|
||
|
status: 'yes',
|
||
|
email: 'ethan@nylas.com',
|
||
|
};
|
||
|
|
||
|
const participant_2 = {
|
||
|
name: 'Other Person',
|
||
|
status: 'maybe',
|
||
|
email: 'other@person.com',
|
||
|
};
|
||
|
|
||
|
const participant_3 = {
|
||
|
name: 'Another Person',
|
||
|
status: 'no',
|
||
|
email: 'another@person.com',
|
||
|
};
|
||
|
|
||
|
const event_1 = {
|
||
|
title: 'Dolores',
|
||
|
description: 'Hanging at the park',
|
||
|
location: 'Dolores Park',
|
||
|
when: when_1,
|
||
|
start: 1408120200,
|
||
|
end: 1408123800,
|
||
|
participants: [participant_1, participant_2, participant_3],
|
||
|
};
|
||
|
|
||
|
describe('Event', function() {
|
||
|
it('can be built via the constructor', function() {
|
||
|
const e1 = new Event(event_1);
|
||
|
expect(e1.title).toBe('Dolores');
|
||
|
expect(e1.description).toBe('Hanging at the park');
|
||
|
expect(e1.location).toBe('Dolores Park');
|
||
|
expect(e1.when.start_time).toBe(1408120200);
|
||
|
expect(e1.when.end_time).toBe(1408123800);
|
||
|
expect(e1.start).toBe(1408120200);
|
||
|
expect(e1.end).toBe(1408123800);
|
||
|
expect(e1.participants[0].name).toBe('Ethan Blackburn');
|
||
|
expect(e1.participants[0].email).toBe('ethan@nylas.com');
|
||
|
expect(e1.participants[0].status).toBe('yes');
|
||
|
expect(e1.participants[1].name).toBe('Other Person');
|
||
|
expect(e1.participants[1].email).toBe('other@person.com');
|
||
|
expect(e1.participants[1].status).toBe('maybe');
|
||
|
expect(e1.participants[2].name).toBe('Another Person');
|
||
|
expect(e1.participants[2].email).toBe('another@person.com');
|
||
|
expect(e1.participants[2].status).toBe('no');
|
||
|
});
|
||
|
|
||
|
it('accepts a JSON response', function() {
|
||
|
const e1 = new Event().fromJSON(json_event);
|
||
|
expect(e1.title).toBe('Meeting with Ben Bitdiddle');
|
||
|
expect(e1.description).toBe(null);
|
||
|
expect(e1.location).toBe(null);
|
||
|
expect(e1.start).toBe(1408120200);
|
||
|
expect(e1.end).toBe(1408123800);
|
||
|
expect(e1.participants[0].name).toBe('Ben Bitdiddle');
|
||
|
expect(e1.participants[0].email).toBe('example@gmail.com');
|
||
|
expect(e1.participants[0].status).toBe('yes');
|
||
|
});
|
||
|
});
|