UNPKG

2.32 kBJavaScriptView Raw
1/**
2 * Module dependencies
3 */
4var util = require( './util' );
5var assert = require( 'assert' );
6
7/**
8 * Testing data
9 */
10
11var fixture = require( './fixture' );
12
13/**
14 * site.tag
15 */
16
17describe( 'wpcom.site.tag', function() {
18 // Global instances
19 var wpcom = util.wpcom();
20 var site = wpcom.site( util.site() );
21 var new_tag;
22
23 // Create a testing_tag before to start tests
24 var testing_tag;
25 before( done => {
26 fixture.tag.name += Math.random() * 1000000 | 0;
27 site.tag().add( fixture.tag )
28 .then( tag => {
29 testing_tag = tag;
30 done();
31 } )
32 .catch( done );
33 } );
34
35 // Delete testing tag
36 after( done => {
37 site.tag( testing_tag.slug ).delete()
38 .then( () => done() )
39 .catch( done );
40 } );
41
42 describe( 'wpcom.site.tag.get', function() {
43 it( 'should get added tag', done => {
44 var cat = site.tag( testing_tag.slug );
45
46 cat.get()
47 .then( data => {
48 assert.ok( data );
49 assert.ok( data instanceof Object, 'data is not an object' );
50 assert.equal( testing_tag.slug, data.slug );
51 assert.equal( testing_tag.name, data.name );
52 done();
53 } )
54 .catch( done );
55 } );
56 } );
57
58 describe( 'wpcom.site.tag.add', function() {
59 it( 'should add a new tag', done => {
60 var tag = site.tag();
61 fixture.tag.name += '-added';
62
63 tag.add( fixture.tag )
64 .then( data => {
65 // checking some data date
66 assert.ok( data );
67 assert.ok( data instanceof Object, 'data is not an object' );
68
69 // store added catogory
70 new_tag = data;
71
72 done();
73 } )
74 .catch( done );
75 } );
76 } );
77
78 describe( 'wpcom.site.tag.update', function() {
79 it( 'should edit the new added tag', done => {
80 var tag = site.tag( new_tag.slug );
81 var edited_name = fixture.tag.name + '-updated';
82
83 tag.update( { name: edited_name } )
84 .then( data => {
85 assert.ok( data );
86 assert.equal( edited_name, data.name );
87
88 // update added tag
89 new_tag = data;
90
91 done();
92 } )
93 .catch( done );
94 } );
95 } );
96
97 describe( 'wpcom.site.tag.delete', function() {
98 it( 'should delete the new added tag', done => {
99 var cat = site.tag( new_tag.slug );
100
101 cat.delete()
102 .then( data => {
103 assert.ok( data );
104 assert.equal( 'true', data.success );
105 assert.equal( new_tag.slug, data.slug );
106
107 done();
108 } )
109 .catch( done );
110 } );
111 } );
112} );