Commit Graph

413 Commits

Author SHA1 Message Date
William Dibbern
8ef27f0590 Refactored tests
Fixes #362

- There is no need to set the viewport on functional tests anymore
unless something other
than the default of 1280x1024 is desired.
- There is no need to invoke `casper.run` to trigger `test.done`
anymore for functional tests.
- Each test works independently of the rest; registration is handled
once for the lifetime of the test run and then login/logout can be
invoked automatically as desired.
- Mocha tests all utilize predefined, more realistic fixtures when
appropriate.
- Renamed old api tests that were really model tests as appropraite.
- Added example api test for posts.
2013-10-07 21:05:25 -05:00
John O'Nolan
d1957958e3 Cleanup indentation and quotes
Aligns all requirements vertically for easier reading + adds single quote standard consistently throughout Ghost, except in long strings.
2013-09-26 15:06:31 +01:00
nicoburns
994263b033 Added grunt-contrib-clean task to clear build folder 2013-09-19 08:45:29 +01:00
Hannah Wolfe
a5af6edd1d Don't remove content images from build 2013-09-18 20:50:39 +01:00
Hannah Wolfe
0ea290df96 Grunt build and gitignore updates 2013-09-18 19:45:21 +01:00
nicoburns
3b3d7a7c34 Replaced Hammer.js with FastClick
Issue #149 Closes #519
- Uses FastClick to speed up click events instead of using Hammer.js tap
events
2013-09-17 22:11:13 +01:00
Hannah Wolfe
d5518c986a Adding grunt prod task
- compiles assets for production environment
2013-09-17 01:49:04 +01:00
Jacob Gable
63eb9581ea Compile assets with grunt
- Made a helper called ghostScriptTags that will spit out the relevant
  script tags with version parameter; 4 unminified files in development,
  1 minified file in production.
- Added grunt concat and uglify tasks to build files into core/built
- Fixed some unit tests by making them native date objects
2013-09-15 14:06:42 -05:00
Hannah Wolfe
596c1dccd2 Updating example config file
- url first, replaced with temporary URL with documentation
- mail config is a commented out example
- mail documentation link in config and mail file
- no more staging
- gruntfile updated to generate correct docs
2013-09-15 15:45:18 +01:00
Hannah Wolfe
63d8cbb87c Unit tests require config file to be present.
Conflicts:
	Gruntfile.js
	core/test/unit/admin_spec.js
2013-09-14 14:07:05 +01:00
Hannah Wolfe
003f9d2048 Fixing tests 2013-09-13 17:29:01 +01:00
Hannah Wolfe
e9d2646997 Refactoring tests to always run as expected
closes #721

- we now have grunt test-unit for safely running unit tests.
2013-09-13 15:12:38 +01:00
Hannah Wolfe
eb15a37850 Gruntfile cleanup 2013-09-12 21:03:01 +01:00
William Dibbern
9064914829 Added redirect to get rid of /page/1/
Fixes #592

- Added *permanent* redirect to ensure `/page/1/` isn't used and that
`/` is used instead.
- Added pageUrl helper (and unit tests) to generate client side url
fragment for blog pages conforming to the above standard.
- Updated pagination helper to use new `pageUrl` theme helper.
- Added functional tests for redirects and added scaffolding for
functional frontend tests in general.
2013-09-09 18:32:44 +01:00
Hannah Wolfe
b55ed1c33c CasperJS test amends
- removing --fail-fast as this prevents screenshots
- adding debug code for the good of all
2013-08-30 10:50:42 +01:00
Hannah Wolfe
fe713c1042 Further grunt validate / casperjs test improvements
- Test environment runs on a different port
- Removed wait() and replaced with waitFor() where possible
- Added more timeout functions / handlers
- General consistency improvements
2013-08-29 20:13:17 +01:00
Hannah Wolfe
f318d164d4 Adding Github Flavored Markdown support
closes #422, issue #295

- Added GFM mode to codemirror
- Took the github.js extension for Showdown and added all useful behaviour
- Now supports strikethrough, line breaking and
  multiple underscores, and auto linking urls & emails without breaking
  definition urls
- Also added definition url handling in preparation for #295
- Added unit tests for the extentions individually and integrated with
  showdown
2013-08-29 14:32:09 +01:00
Hannah Wolfe
5a9db4dc76 Casperjs tests now use test DB 2013-08-29 11:04:33 +01:00
William Dibbern
badd6d10d4 Added CasperJS Functional Test to Build
Fixes #363

- Added new grunt task to run casperjs tests.
- Added prerequisites (sass/bourbon/casperjs) to travis config.
- Updated failing functional tests to use more robust `waitFor`
statements.
- Updated capserjs `base.js` file to use a password which conforms to
our 8 character minimum.
- Added necessary logout to first test and also registration step to
ensure a user is present in the system.
2013-08-26 16:28:41 -05:00
William Dibbern
ff3a9dde00 Patch to prevent timeouts in unit tests
Temporary patch for #362

- Split out database teardown and initialization so they each have their
own 2 second timeout.
- Added some test-specific increased timeouts.
2013-08-24 16:07:15 -05:00
Jacob Gable
7a5cccf4c2 Add LiveReload Grunt Dev Task
Adds the ability to run a new task via `grunt dev` that will watch our
sass, templates and javascript files for changes and reload them in the browser.

Also, refactored the Gruntfile to auto load all grunt-* tasks to remove
some code.
2013-08-17 13:56:02 -05:00
Hannah Wolfe
2f11f053ab Minor code cleanup, docs and other bits & pieces 2013-08-06 22:24:40 +01:00
Hannah Wolfe
338109c762 Data models import, export, and reset for 002
- added line to index.js to set node_env to development if it is not set
 - fixed a small bug with the persistent notifications and used them on debug page from server side
 - added 002 files to manage export and import for 002
 - 002 import is somewhat smarter than 001, merging settings (except version), replacing user & clearing primary keys
 - added reset to models and migration, which does the down operation the same way that init does the up operation
 - import and reset clear session & redirect to login / signup
 - additional unit tests
2013-08-05 13:56:30 +01:00
Christopher Giffard
c9914618a7 Added changelog generation to build in gruntfile
Fixes #291

Incorporated new task into gruntfile which generates a markdown formatted
changelog from the git commit messages of the last 14 git tags, corresponding
to two weeks of nightly releases.

The changelog is saved in __dirname/CHANGELOG.md.

At this stage, the code is a fair bit too complex to be left in the gruntfile
and should be split out into a separate module, but this is a first bash at the
function which can be improved later.

Additionally, several additions have been made to the generator to improve
reliability:

- Now generates changelog based on log output with --graph (thx hannah)
- Grabs tag refs from git
- Added changelog to gitignore
- Added message for builds without any changes
- Ignores any commits which have not been incorporated into a build
2013-08-01 17:12:59 +10:00
Hannah Wolfe
68cc640d23 Merge pull request #319 from ErisDS/test-playground
Added functional tests for Ghost Admin UI using Casperjs
2013-07-31 05:14:26 -07:00
Hannah Wolfe
6a2851e9ca JSLint fixes for new version
- forgot to force install
- had to clean up grunt task now we no longer need the 'm' alias
- cleaned up a couple of issues it wasn't picking up before
2013-07-31 09:21:22 +01:00
Hannah Wolfe
2b9be5376e Added functional tests for Ghost Admin UI using Casperjs
Hacky implementation of a suite of casper tests. This is here so that we can start to build up some tests.
Main thing missing is being able to simulate keypresses for CodeMirror
Making the tests run nicely with grunt, travis and be independent rather than interdependent can all come later.
- See tests/functional/base.js for full usage instructions & implementation notes
2013-07-31 08:33:28 +01:00
Ricardo Tomasi
56448b4ea4 Ignore shared/vendor in lint task 2013-07-24 23:21:57 +01:00
Gabor Javorszky
b77a8fd0d9 Notifications on front end
Should close #37. There are persistent and passive notifications.

Persistent ones:
* are stored on `ghost.notifications`.
* have an api made to add / remove them with client side ajax logic (probably not the most elegant, but works)
* uses a modified `flashes.hbs` template
* will only disappear if user closes the bar
* stack

Passive
* added with backbone view / collection combo
* stack
* disappears on navigation and when user closes it
2013-07-22 14:41:27 +01:00
Hannah Wolfe
3d3d42bd7c issue #245
hbs templates not building with correct paths
missed a couple of assets paths in settings
2013-07-11 21:00:41 +01:00
Hannah Wolfe
30b4eb07f7 App restructure - closes #245
- This is a first pass at getting a more logical structure. The focus is on moving from admin/frontend to client/server.
- The location of the databases is highly important, this isn't expected to change again
In the future
- client/assets should probably become public/
- more stuff should be shared (helpers etc)
- cleanup some confusion around tpl and views
2013-07-11 20:23:34 +01:00
Hannah Wolfe
9268d6ef11 More config for build tasks - issue #211
- using grunt config to provide nicer commit and tag messages
2013-07-11 15:24:33 +01:00
Hannah Wolfe
3bfeece520 Added weekly build tasks - closes #211
- updated grunt file with the tasks for running a weekly build
2013-07-11 15:05:10 +01:00
Jacob Gable
42681cbb65 Add bump pushes to build branch 2013-07-09 19:45:57 -05:00
Hannah Wolfe
c475dd2b9a Merge pull request #250 from jgable/switchToMochaCli
Switch to grunt-mocha-cli
2013-07-09 17:40:33 -07:00
Jacob Gable
12c205473f Remove validate task from nightly build 2013-07-09 19:10:35 -05:00
Jacob Gable
8545f5806e Switch to grunt-mocha-cli
The grunt-mocha-test task seems to be causing problems with our
beforeEach handlers in some cases. The grunt-mocha-cli task runs the
mocha command using grunt.util.spawn for more consistent results
2013-07-09 18:34:19 -05:00
Jacob Gable
2b7ba8044b Switch to bump:build 2013-07-09 13:56:19 -05:00
Jacob Gable
63ba3c77ee Update grunt-bump min version and add bump:git
The latest version of grunt-bump adds bump:build and bump:git support
2013-07-09 13:07:19 -05:00
Hannah Wolfe
3d2b56b6a9 Config and naming
- issue #154, issue #224 and issue #220
- change port number from 3333 to 2368
- change main file name from app.js to index.js
- update README & package.json to match
2013-07-07 16:50:50 +01:00
Jacob Gable
a6bd6aa78c Modify build files to move artifacts inside of project 2013-07-01 16:24:59 -05:00
Jacob Gable
9f6f17b9ac Add bump option to not push 2013-07-01 15:58:47 -05:00
Hannah Wolfe
0973002b71 Updated grunt groc config, the documented way of listing files didn't work 2013-06-25 19:10:33 +01:00
Hannah Wolfe
ba810fb0bb issue #58 - removing the iiwf
Function wrapper and use strict pragma removed from all node files
2013-06-25 13:46:50 +01:00
Hannah Wolfe
2c7245e0e5 issue #58 - removing the iiwf
In order to remove the iiwf we need to be able to lint backend and frontend code separately.
Changed our devDependency for grunt-jslint to use a fork which has multiTask (PR sent to main repo)
Updated Gruntfile with split rules for the jslint tasks
As a result, a few files failed to pass the new rules, these have been fixed and added to the commit
2013-06-25 13:38:41 +01:00
Matthew Harrison-Jones
6399d51d93 Convert to Grunt-Groc
Documentation can now be generated with `grunt docs`.
2013-06-25 11:26:55 +01:00
Jacob Gable
ccdb63cc71 Rename tmpl directory to tpl and remove content level
Should close #137.
2013-06-19 15:24:07 -05:00
Hannah Wolfe
f5e46449ef closes #103 - deployments
Added a standard grunt build task for doing deploys, this works in tandem with the ghost-deploy.sh script
Switched grunt-zip for grunt-contrib-compress as it seems more stable/reliable
2013-06-18 22:28:30 +01:00
Hannah Wolfe
1369789aec closes #150 - Updating Grunt
Grunt tasks are now hopefully a little bit less confusing
Have updated the readme to match
2013-06-15 19:33:52 +01:00
Gabor Javorszky
b0b11573f6 Restricting Admin user creation
Solves #138.
* Removed user and user_roles from fixture
* Restricted user creation to one user. That user is id 1, is admin
* Changed tests so they accommodate for this fact
* Can not create new user (fails on test, flashes on signup)
2013-06-15 10:10:26 +01:00
Jacob Gable
d1300bb49c Nightly build task
Add a `grunt nightly` build task that copies needed files to a build
folder, then zips them up for distribution. We can also add a tag and
push it to github but I've only tested it with throwaway branches.

I made some guesses about the build folder and dist folder.  If you
have a better way feel free to give some recommendations.

Related to #102.
2013-06-10 09:00:32 -05:00
ErisDS
d047692c73 Removing the tmpl directory from jslint 2013-06-06 08:10:58 +01:00
Tim Griesser
c4f6c99ca1 moving handlebars compile target, adding notification when saving post, using Ghost.View rather than modifying Backbone.View's prototype 2013-06-04 08:41:25 -04:00
Tim Griesser
e5ce70e175 Added models & collections for various pieces
Saving post as draft, or publishing
Added HBS parser for some client tmpls
Parsing paginated posts
Added grunt watch for hbs parsing on updates
2013-06-03 00:56:57 -04:00
Jacob Gable
9ec2396213 Fix JSLInt errors and port existing nodeunit tests to mocha 2013-05-26 12:34:05 -05:00
Jacob Gable
05ca58951b Merge changes from upstream 2013-05-25 11:55:23 -05:00
Jacob Gable
601e261439 Fixing tests and adding settings provider. 2013-05-25 11:48:15 -05:00
Gabor Javorszky
b39efd2680 Made Ghost work with bourbon, grunt init works again 2013-05-25 15:11:30 +01:00
Ricardo Tomasi
6f12870e70 Add task for API tests 2013-05-23 09:20:59 -03:00
Jacob Gable
8ecb8a7d67 Remove predefined globals list in favor of node:true and browser:true 2013-05-14 10:07:41 -05:00
Jacob Gable
b88e69a3cc Switch to grunt-jslint 2013-05-14 10:04:22 -05:00
Jacob Gable
6da08eaf3c Make stricter jshint rules, convert tabs to spaces 2013-05-13 14:18:20 -05:00
Jacob Gable
99c13c02c0 Initial Grunt configuration 2013-05-12 08:40:59 -05:00