Skip to content
This repository was archived by the owner on Mar 29, 2021. It is now read-only.

Commit

Permalink
#125: first test for Land, need to add method verifications;
Browse files Browse the repository at this point in the history
  • Loading branch information
w20k committed Oct 12, 2016
1 parent 05d8e2b commit c0ec231
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 11 deletions.
2 changes: 1 addition & 1 deletion src/mods/land.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ idrinth.land = {
var putResults = function ( results ) {
for (var key in results) {
if ( results.hasOwnProperty ( key ) ) {
document.getElementById ( 'idrinth-land-' + key ).value = idrinth.settings.land[key];
document.getElementById ( 'idrinth-land-' + key ).value = results[key];
document.getElementById ( 'idrinth-land-' + key ).parentNode.nextSibling.innerHTML = '+' + results[key];
}
}
Expand Down
5 changes: 3 additions & 2 deletions src/mods/text.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ idrinth.text = {
var language = idrinth.settings.get ( "language" ) || window.navigator.userLanguage || window.navigator.language;
if ( language === 'en' ) {
idrinth.text.initialized = true;
idrinth.text.data = JSON.parse ( '###LANG###' );
return;
}
idrinth.core.ajax.runHome ( 'lang-service/###RELOAD-VERSION###/', function ( file ) {
Expand Down Expand Up @@ -41,11 +42,11 @@ idrinth.text = {
* See languages/en.json for an example
* @type {object}
*/
data: JSON.parse ( '###LANG###' ),
data: {},
/**
* returns the translation of a provided key or an error-message if no
* matching translation is found
* @param string key
* @param {string} key
* @returns {string}
*/
get: function ( key ) {
Expand Down
38 changes: 30 additions & 8 deletions tests/mods/landSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,30 +49,32 @@ describe ( 'Land.js tests', function () {
} );

describe ( "Land calculate method", function () {
var mockDOM = {}, defaultStructure, document_getElementById;

beforeEach ( function () {
this.mock = {};
this.defaultStructure = '{ "value": "", "parentNode": { "nextSibling": { "innerHTML": "" } } }';
this.document_getElementById = jasmine.createSpyObj ( "input", [ 'value', 'parentNode', 'nextSibling', 'innerHTML' ] );
defaultStructure = '{ "parentNode.nextSibling.innerHTML": "", "parentNode": { "nextSibling": { "innerHTML": "" } } }';
document_getElementById = jasmine.createSpyObj ( "input", [ 'value', 'parentNode', 'nextSibling', 'innerHTML' ] );

for ( var i in idrinth.land.data ) {
if ( idrinth.land.data.hasOwnProperty ( i ) ) {
this.mock[ 'idrinth-land-' + i ] = JSON.parse ( defaultStructure );
mockDOM[ 'idrinth-land-' + i ] = JSON.parse ( defaultStructure );
}
}
this.mock[ 'idrinth-land-gold' ] = { value: '' };
mockDOM[ 'idrinth-land-gold' ] = { value: '' };

spyOn ( document, "getElementById" ).and.callFake ( function ( id ) {
if ( this.mock.hasOwnProperty ( id ) ) {
return this.mock[ id ];
if ( mockDOM.hasOwnProperty ( id ) ) {
return mockDOM[ id ];
}

return this.document_getElementById ( id );
return document_getElementById ( id );
} );

spyOn(idrinth.core, 'alert');
spyOn(idrinth.settings, 'save');
spyOn(idrinth.settings, 'change');
spyOn(idrinth.text, 'get');
spyOn(idrinth.text, 'start');
} );


Expand All @@ -82,6 +84,26 @@ describe ( 'Land.js tests', function () {

idrinth.land.calculate ();

expect(mockDOM['idrinth-land-cornfield'].value).toEqual(840);
expect(mockDOM['idrinth-land-stable'].value).toEqual(650);
expect(mockDOM['idrinth-land-barn'].value).toEqual(520);
expect(mockDOM['idrinth-land-store'].value).toEqual(450);
expect(mockDOM['idrinth-land-pub'].value).toEqual(390);
expect(mockDOM['idrinth-land-inn'].value).toEqual(350);
expect(mockDOM['idrinth-land-tower'].value).toEqual(280);
expect(mockDOM['idrinth-land-fort'].value).toEqual(230);
expect(mockDOM['idrinth-land-castle'].value).toEqual(200);
expect(mockDOM['idrinth-land-gold'].value).toEqual(1450000);

expect(mockDOM['idrinth-land-cornfield'].parentNode.nextSibling.innerHTML).toEqual("+840");
expect(mockDOM['idrinth-land-stable'].parentNode.nextSibling.innerHTML).toEqual("+650");
expect(mockDOM['idrinth-land-barn'].parentNode.nextSibling.innerHTML).toEqual("+520");
expect(mockDOM['idrinth-land-store'].parentNode.nextSibling.innerHTML).toEqual("+450");
expect(mockDOM['idrinth-land-pub'].parentNode.nextSibling.innerHTML).toEqual("+390");
expect(mockDOM['idrinth-land-inn'].parentNode.nextSibling.innerHTML).toEqual("+350");
expect(mockDOM['idrinth-land-tower'].parentNode.nextSibling.innerHTML).toEqual("+280");
expect(mockDOM['idrinth-land-fort'].parentNode.nextSibling.innerHTML).toEqual("+230");
expect(mockDOM['idrinth-land-castle'].parentNode.nextSibling.innerHTML).toEqual("+200");

} );

Expand Down

0 comments on commit c0ec231

Please sign in to comment.