Uncategorized - selene tan
selene tan


UI and Integration Testing for a Full-Stack Javascript App (excerpt)

by on May.04, 2017, under Uncategorized

While developing our new full-stack Javascript app at ThinkNear, we needed to pick a technology for UI and integration testing.

For our Ruby apps, we use Capybara with RSpec and the Poltergeist bindings for PhantomJS. While the stack works, to simplify development and ramp-up time for new developers, we wanted a Javascript-based technology.


  • Write tests in Javascript
  • Compatibility with Jasmine
    • Our unit tests are in Jasmine, so we’d prefer not to juggle multiple test syntaxes
  • Supports ECMAScript6
  • Can run headless on a Jenkins server
  • As close to a real browser as possible
    • Officially we only support Chrome, so a Chrome/Webkit browser is preferred over Firefox/Gecko
  • Actively maintained, community support

Read the full post at the ThinkNear Engineering blog.

Leave a Comment full post

Advanced Angular UI Router: Nested Views (excerpt)

by on Jan.08, 2015, under Uncategorized

At ThinkNear, we have an in-house administrative dashboard that our ad operations team uses to set up and manage ad campaigns. The dashboard is an AngularJS frontend with a Ruby on Rails backend, with the ui-router plugin for permalinks and navigation. While ngNewsletter’s Diving deep into the AngularUI Router was a helpful primer, while creating the system we found it didn’t go deep enough. This post describes how we used ui-router’s Nested Views feature to achieve the site layout we wanted.


Our object hierarchy goes Contract > Insertion Order > Campaign. We have many Contracts, Contracts can have many Insertion Orders, and Insertion Orders can have many Campaigns. Ad Ops often needed to reference one object while working on another. They preferred to open multiple tabs or browser windows and look at them side-by-side. They need an easy way to open multiple Contract tabs from the main list, and a good single-Contract view. They wanted to be able to use the back button to go up the hierarchy. And they wanted to be able to pass around short links to specific objects that loaded quickly.

Read the full post at the ThinkNear Engineering blog

Leave a Comment full post

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!