Comments (2)
Another solution to this issue is to pay close attention to the double quotes in the serialize method. Having double quotes surrounding the product.inventory.to_s
call causes the inventory value to have double quotes in the JSON (so it appears to the test suite as a string).
def self.serialize(product)
serialized_product = '{'
serialized_product += '"id": ' + product.id.to_s + ', '
serialized_product += '"name": "' + product.name + '", '
serialized_product += '"price": "' + product.price.to_s + '", '
serialized_product += '"inventory": "' + product.inventory.to_s + '", '
serialized_product += '"description": "' + product.description + '"'
serialized_product += '}'
end
which results in a JSON that fails the test suite
{id: 2, name: "Another Thing", price: "12", inventory: "0", description: "asdfasdf asdf ksdfkksadfk aksdjfaksdjfkasjdf kasdfjaskdjfasdf "}
vs.
def self.serialize(product)
serialized_product = '{'
serialized_product += '"id": ' + product.id.to_s + ', '
serialized_product += '"name": "' + product.name + '", '
serialized_product += '"price": "' + product.price.to_s + '", '
serialized_product += '"inventory": ' + product.inventory.to_s + ', '
serialized_product += '"description": "' + product.description + '"'
serialized_product += '}'
end
which results in a JSON that passes the test
{id: 2, name: "Another Thing", price: "12", inventory: 0, description: "asdfasdf asdf ksdfkksadfk aksdjfaksdjfkasjdf kasdfjaskdjfasdf "}
from diy-json-serializer-lab-v-000.
Had the same issue, came up with this:
(Below is also the reason for the Rails #to_json method...)
serialized_product += '"description": ' + (product.description.nil? ? '" "' : '"' + product.description + '"' ) + ' '
from diy-json-serializer-lab-v-000.
Related Issues (6)
- I clicked "Next Product" link and jquery keeps flickering HOT 1
- Page not updating correctly
- Errors with no solution - Visible 'click next' and 'loads next product without page refresh'
- Missing Capybara::Poltergeist configuration to get test passing
- Failure/Error: expect(page).to have_content p2.name
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from diy-json-serializer-lab-v-000.