UNPKG

2.96 kBJavaScriptView Raw
1/**
2 * Module dependencies
3 */
4var util = require( './util' );
5var assert = require( 'assert' );
6
7/**
8 * Testing data
9 */
10var fixture = require( './fixture' );
11
12describe( 'wpcom.site.media', function() {
13 // Global instances
14 var wpcom = util.wpcom();
15 var site = wpcom.site( util.site() );
16 var add_urls_array;
17 var add_urls_object;
18
19 // Create a testing_media before to start tests
20
21 var testing_media;
22 before( done => {
23 site.addMediaFiles( fixture.media.files[1] )
24 .then( data => {
25 testing_media = data ? data.media[0] : {};
26 done();
27 } )
28 .catch( done );
29 } );
30
31 after( done => {
32 // clean media added through of array by urls
33 site.deleteMedia( add_urls_array.media[0].ID )
34 .then( () => site.deleteMedia( add_urls_array.media[1].ID ) )
35 .then( () => site.deleteMedia( add_urls_array.media[2].ID ) )
36 .then( () => site.deleteMedia( add_urls_object.media[0].ID ) )
37 .then( () => done() )
38 .catch( done );
39 } );
40
41 describe( 'wpcom.site.media.get', function() {
42 it( 'should get added media', done => {
43 var media = site.media( testing_media.ID );
44 media.get()
45 .then( data => {
46 assert.equal( testing_media.ID, data.ID );
47 done();
48 } )
49 .catch( done );
50 } );
51 } );
52
53 describe( 'wpcom.site.media.update', function() {
54 it( 'should edit the media title', done => {
55 var edited_title = 'This is the new title';
56
57 site.media( testing_media.ID )
58 .update( { apiVersion: '1.1' }, { title: edited_title } )
59 .then( data => {
60 assert.ok( data );
61 assert.equal( edited_title, data.title );
62
63 done();
64 } )
65 .catch( done );
66 } );
67 } );
68
69 describe( 'wpcom.site.media.addFiles', function() {
70 it( 'should create a new media from a file', done => {
71 site.media().addFiles( fixture.media.files )
72 .then( data => {
73 assert.ok( data );
74 assert.ok( data.media instanceof Array );
75 assert.equal( fixture.media.files.length, data.media.length );
76 done();
77 } )
78 .catch( done );
79 } );
80 } );
81
82 describe( 'wpcom.site.media.addUrls', function() {
83 it( 'should create a new media from an object', done => {
84 var media_object = fixture.media.urls[1];
85
86 site.media().addUrls( media_object )
87 .then( data => {
88 assert.ok( data );
89 add_urls_object = data;
90 done();
91 } )
92 .catch( done );
93 } );
94 } );
95
96 describe( 'wpcom.site.media.addUrls', function() {
97 it( 'should create a new media', done => {
98 site.media().addUrls( fixture.media.urls )
99 .then( data => {
100 assert.ok( data );
101 assert.ok( data.media instanceof Array );
102 assert.equal( fixture.media.urls.length, data.media.length );
103
104 add_urls_array = data;
105
106 done();
107 } )
108 .catch( done );
109 } );
110 } );
111
112 describe( 'wpcom.site.media.delete', function() {
113 it( 'should delete a media', done => {
114 site.media( testing_media.ID ).del()
115 .then( data => {
116 assert.equal( testing_media.ID, data.ID );
117 done();
118 } )
119 .catch( done );
120 } );
121 } );
122} );