UNPKG

3.02 kBJavaScriptView Raw
1/**
2 * Module dependencies
3 */
4var util = require( './util' );
5var assert = require( 'assert' );
6
7/**
8 * wpcom.site.post.subscriber
9 */
10describe( 'wpcom.site.wordads', function() {
11 // Global instances
12 var wpcom = util.wpcom();
13 var site = wpcom.site( util.wordAds().site );
14
15 describe( 'wpcom.site.wordads.settings', function() {
16 var wordAdsSettings = site.wordAds().settings();
17
18 describe( 'wpcom.site.wordads.settings.get', function() {
19 it( 'should get site wordAds settings', function( done ) {
20 wordAdsSettings.get( function( err, data ) {
21 if ( err ) throw err;
22
23 assert.equal( 'number', typeof data.ID );
24 assert.equal( 'object', typeof data.settings );
25 done();
26 } );
27 } );
28 } );
29
30 describe( 'wpcom.site.wordads.settings.update', function() {
31 it( 'should update WordAds settings of the site', function( done ) {
32 var settings = {};
33
34 wordAdsSettings.get( function( err, data ) {
35 if ( err ) throw err;
36
37 settings = data.settings;
38 settings.taxid = data.settings.taxid_last4;
39
40 wordAdsSettings.update( settings, function( err2, data2 ) {
41 if ( err2 ) throw err2;
42
43 for ( let k in data2.updated ) {
44 assert.equal( data2.updated[k], settings[k] );
45 }
46
47 done();
48 } );
49 } );
50 } );
51 } );
52 } );
53
54 describe( 'wpcom.site.wordads.earnings', function() {
55 var wordAdsEarnings = site.wordAds().earnings();
56
57 describe( 'wpcom.site.wordads.earnings.get', function() {
58 it( 'should get site wordAds earnings', function( done ) {
59 wordAdsEarnings.get( function( err, data ) {
60 if ( err ) throw err;
61
62 assert.equal( 'number', typeof data.ID );
63 assert.equal( 'object', typeof data.earnings );
64 done();
65 } );
66 } );
67 } );
68 } );
69
70 describe( 'wpcom.site.wordads.tos', function() {
71 var wordAdsTOS = site.wordAds().tos();
72
73 describe( 'wpcom.site.wordads.tos.get', function() {
74 it( 'should get site wordAds tos', function( done ) {
75 wordAdsTOS.get( function( err, data ) {
76 if ( err ) throw err;
77
78 assert.equal( 'number', typeof data.ID );
79 assert.equal( 'string', typeof data.tos );
80 done();
81 } );
82 } );
83 } );
84
85 describe( 'wpcom.site.wordads.tos.update', function() {
86 it( 'should update WordAds TOS of the site', function( done ) {
87 var send = { tos: 'signed' };
88
89 wordAdsTOS.update( send, function( err, data ) {
90 if ( err ) throw err;
91
92 assert.equal( data.tos, send.tos );
93 done();
94 } );
95 } );
96
97 it( 'should get error 400 sending wrong body in the request', function( done ) {
98 var send = { tos: 'foo' };
99
100 wordAdsTOS.update( send, function( err ) {
101 assert.equal( 'You must agree to the Terms of Service.', err.message );
102 done();
103 } );
104 } );
105 } );
106
107 describe( 'wpcom.site.wordads.tos.sign', function() {
108 it( 'should sign site\'s WordAds TOS', function( done ) {
109 wordAdsTOS.sign( function( err, data ) {
110 if ( err ) throw err;
111
112 assert.equal( data.tos, 'signed' );
113 done();
114 } );
115 } );
116 } );
117 } );
118} );