Commit Graph

6275 Commits

Author SHA1 Message Date
Hannah Wolfe
bd0f16aea7 Remove support for old io.js version
- io.js and node merged some time ago now
- we only ever had support for a single random and now very old version of io.js anyway
2016-03-26 14:54:23 +00:00
Jason Williams
dde27f4dcf Merge pull request #6638 from ErisDS/knex-config
Make it possible to override `useNullAsDefault`
2016-03-25 10:17:01 -05:00
Hannah Wolfe
115eb46d7d Merge pull request #6641 from kevinansfield/deps-liquid-tether
deps: liquid-tether@1.0.0
2016-03-25 09:17:43 +00:00
Kevin Ansfield
e23cb9e8a7 deps: liquid-tether@1.0.0
no issue
- contains cleanup and test fixes - https://github.com/pzuraq/liquid-tether/compare/v0.1.11...v1.0.0
2016-03-25 09:00:38 +00:00
Sebastian Gierlinger
31e68acb85 Merge pull request #6639 from ErisDS/fixture-cleanup
Data & fixture migration cleanup
2016-03-25 09:51:01 +01:00
Hannah Wolfe
681e9f9f51 Data & fixture migration cleanup
refs #6621, #6622

- remove unneeded `return new Promise.resolve()` lines
- reduce code in tests
- improve quality of tests checking that all task functions are executed
- add missing test coverage
2016-03-24 22:24:57 +00:00
Hannah Wolfe
57271878c0 Make it possible to override useNullAsDefault
refs #6623, #6637

- this was supposed to be in the original
2016-03-24 16:34:48 +00:00
Jason Williams
e72dddbf97 Merge pull request #6637 from ErisDS/knex-config
Disable knex useNullAsDefault warning
2016-03-24 08:15:06 -05:00
Hannah Wolfe
8c74f55b36 Disable knex useNullAsDefault warning
refs #6623

- automatically set useNullAsDefault to false for sqlite3 so that we don't get a warning
- we should *not* be relying on the behaviour of interpretting undefined anywhere, so it is correct that an error should be output if this happens so that we can fix the bad behaviour
2016-03-24 12:49:06 +00:00
Hannah Wolfe
a8fc2969cc Merge pull request #6635 from kevinansfield/remove-hammerjs
Remove jquery-hammerjs bower dependency
2016-03-24 11:18:40 +00:00
Kevin Ansfield
3d06b053d2 Remove jquery-hammerjs bower dependency
no issue
- removes `jquery-hammerjs` as it doesn't appear to be used anywhere and isn't included in the build by ember-cli
2016-03-24 10:04:52 +00:00
David Balderston
81c215dbe5 Update Post Slug while Draft on Title Changes
Closes #5062

* As long as the post has never been published, update the slug to
match the new title if the title is changed
2016-03-23 10:20:22 -07:00
Hannah Wolfe
192086bd98 Merge pull request #6615 from jaswilli/delete-204
Use HTTP status 204 on deletes
2016-03-22 18:43:49 +00:00
Hannah Wolfe
66fb70337f Merge pull request #6623 from jaswilli/knex
Update knex and bookshelf
2016-03-22 17:09:12 +00:00
Jason Williams
136bdbd9ff Return http status 204 on deletes
Closes #2871
- Refactor api http handlers.
- Update tests.
- Remove special handling of responses in ember adapter.
2016-03-22 11:42:48 -05:00
Hannah Wolfe
bba7bdd8eb Merge pull request #6613 from jaswilli/delete-content-refactor
Refactor content deletion
2016-03-22 16:39:43 +00:00
Kevin Ansfield
94abaca531 Merge pull request #6611 from dbalders/ember-navitems
Remove Nav Item Placeholder and Set as Base Url Value
2016-03-22 16:18:28 +01:00
Jason Williams
9fe573a0c5 Refactor content deletion
- Simplify the `init` method in `models/index.js` so that it no longer
  returns a promise. Easier to use.
- Eliminates the `deleteAllContent` method from `models/index.js` as it
  can all be handled at the API layer in a single spot.
- Optimize `destroyAllContent` in `api/db.js`. Eliminates
  double-fetching every post from the database and converting it to
  JSON. Also only fetches ids from the database instead of the entire
  model.
- Eliminates the custom static method `destroy` in the Post model in
  favor of handling detaching tag relations in a single place (the
  `destroying` event). This also eliminates a big source of unneeded
  database round trips--needing to get post ids to feed into
  `Post.destroy()` which then re-fetches the post again.
2016-03-22 10:10:09 -05:00
Sebastian Gierlinger
229c2925a6 Merge pull request #6622 from ErisDS/migration-messaging
Migration messaging improvements
2016-03-22 15:24:13 +01:00
David Balderston
9eb0a8a690 Remove Nav Item Placeholder and Set as Base Url Value
Closes #6440

* Removed the `.fake-placeholder`class from the input, test, and css
* On adding a nav item, if the url value has not been set by the user,
then set it to the base url as shown in the input
* If url has been set by the user, just do what it has always done
2016-03-22 07:11:20 -07:00
Austin Burdine
b9720e3589 Merge pull request #6624 from king6cong/preview-fix
fix invalid preview url
2016-03-22 08:27:35 -05:00
king6cong
cf7bc6f415 fix invalid preview url 2016-03-22 20:42:46 +08:00
Hannah Wolfe
84f387785a Migration messaging improvements
refs #6301

- fix messages that joined with comma and therefore missed outputting version no
- change `logInfo` to `logger` that has both an info and a warn method
- add new warn method to errors
- add a warn message everytime a migration (data or fixture) gets skipped over
- update logger everywhere, including tests
- update tests to check logger.warn gets called
2016-03-22 09:59:22 +00:00
Sebastian Gierlinger
c2d8436437 Merge pull request #6621 from ErisDS/fixture-run-once
Ensure fixture operations only run if needed
2016-03-22 10:32:31 +01:00
Jason Williams
ee534845e5 deps: bookshelf@0.9.2 2016-03-21 19:27:23 -05:00
Jason Williams
57250edf0b deps: knex@0.10.0
Closes #6573
2016-03-21 19:27:23 -05:00
Jason Williams
82b0b92b73 Merge pull request #6619 from kevinansfield/ember-data-2-4-2
deps: ember-data@2.4.2
2016-03-21 13:31:03 -05:00
Hannah Wolfe
9030620b23 Ensure fixture operations only run if needed
refs #6301

- Make sure that every fixture operation has a check to ensure that it hasn't already run
- E.g. The update of sort_order on posts_tags should only happen if there are no values which aren't a zero
  - This makes sure that we don't accidentally overwrite data on FORCE_MIGRATE
- No need to try to set settings types if they are already correct
- Only update the admin client if it needs it, else we're regenerating secrets each time
2016-03-21 18:15:01 +00:00
Kevin Ansfield
3d8e40f9ae deps: ember-data@2.4.2
no issue
- https://github.com/emberjs/data/releases/tag/v2.4.1
- https://github.com/emberjs/data/releases/tag/v2.4.2
- uses the new public import path for `EmbeddedRecordsMixin` (http://emberjs.com/blog/2016/03/13/ember-data-2-4-released.html#toc_importing-modules - note that the module naming there isn't quite right)
2016-03-21 16:37:42 +00:00
Jason Williams
90dca163a6 Merge pull request #6618 from kevinansfield/ember-2-4-3
deps: ember@2.4.3
2016-03-21 10:17:41 -05:00
Sebastian Gierlinger
ea9c8235fa Merge pull request #6609 from ErisDS/new-db-upgrade
Rewrite DB update to be explicit
2016-03-21 16:14:59 +01:00
Kevin Ansfield
8f33a3540d deps: ember@2.4.3
no issue
- https://github.com/emberjs/ember.js/releases/tag/v2.4.2
- https://github.com/emberjs/ember.js/releases/tag/v2.4.3
2016-03-21 14:10:18 +00:00
Sebastian Gierlinger
1256272640 Merge pull request #6616 from ErisDS/meta-schema-fix
Never output null JSON-LD schema
2016-03-21 10:22:06 +01:00
Sebastian Gierlinger
25c490b2ec Merge pull request #6614 from ErisDS/paginated-urls
Clean up paginated URL generation
2016-03-21 10:08:53 +01:00
Sebastian Gierlinger
e7fcc9e059 Merge pull request #6612 from ErisDS/channel-contexts
Generate context from channelConfig, not URL
2016-03-21 09:49:35 +01:00
Hannah Wolfe
9a8fbd5286 Never output null JSON-LD schema
refs #5091, #6612

- fixes meta data so it won't output 'null' as a JSON-LD schema
- added test coverage for this if/else
- this case cannot happen within the existing system, it only happens with custom channels after #6612
2016-03-20 22:36:02 +00:00
Hannah Wolfe
5f2c913fc1 Clean up paginated URL generation
refs #5091, #6612

- unify getNextUrl & getPrevUrl into getPaginatedUrl
- ensure that it can generate a prev, next or exact page no url
- ensure that it can figure out the base url
- use the same code from the page_url helper
- refactor the tests to ensure there's 100% coverage

Following on from #6612, this ensures that pagination always works regardless of whether the channel is default or custom
2016-03-20 22:35:00 +00:00
Hannah Wolfe
17499dbc7b Generate context from channelConfig, not URL
refs #5091

- makes post context explicit - data.post must be set, rather than post being the default
- uses channelConfig to determine the context for a channel (the channel name) rather than basing it off of the URL
- updates tests to setup the contexts more clearly, the outcome has not changed

Since #6469 req has channelConfig attached to it.
We can use req.channelConfig to determine what the context should be for a channel (the channel name)
This allows us to remove the hardcoded URLs, and means that custom channels will automatically get their own context.
Coupled with removing 'post' from being a default/fallthrough, to being explicitly set, this will reduce
potential context errors, as we start to extend the frontend capabilities
2016-03-20 12:59:25 +00:00
David Balderston
c55140d0db Change default setting for to inside foreach helper
closes #6604

* Default for `to` was always `(from-1) + limit`. This caused a problem
where the `to` value could be higher than the length of the number of
blog posts, causing `@last` to never be called/reached
* Now sets `to` to have a default of `length` and if a limit was sent
through and not higher than `length`, to then set `to` to that value
* Added some extra tests for `@last` and `@first` use cases
* Added some inline commenting
2016-03-17 17:52:38 -07:00
Hannah Wolfe
0ad93c3df2 Rewrite DB update to be explicit
refs #6301

- Replace builder & automated database upgrade with a set of explicit tasks
- Ensure the tasks can only happen if they need to
- Remove some duplicate code between fixture & db upgrades (more to do)
- Add tests
2016-03-17 21:17:19 +00:00
Sebastian Gierlinger
ef0945b09f Merge pull request #6606 from ErisDS/permission-test-fix
Fix role fixture ordering bug in pg tests
2016-03-15 20:23:46 +01:00
Hannah Wolfe
051a917e37 Fix role fixture ordering bug in pg tests
closes #6605

- ensure that roles are being output in order of their ID before asserting
- the asserting checks both the content and order of the array - this could be done differently as order doesn't really matter here, but will let us know if there are changes in DB behaviour
2016-03-15 19:08:25 +00:00
Sebastian Gierlinger
0c483a0997 Merge pull request #6599 from ErisDS/migrations-split
Split migrations/index.js & add tests
2016-03-15 13:47:44 +01:00
Sebastian Gierlinger
f950775b48 Merge pull request #6602 from ErisDS/version-tests
Improve `getDatabaseVersion` & versioning tests
2016-03-15 11:22:09 +01:00
Hannah Wolfe
2cfee3812f Split migrations/index.js & add tests
refs #6301

- changes createTable to use createTableIfNotExists, this is consistent with deletion
- splits out backup, reset, update and populate functions from migration/index into their own files
- moves the wrapped function for populatingDefaultSettings to fixtures.ensureDefaultSettings
- moves `modelOptions` down to the fixture files that actually use it
- adds test coverage for backup, reset and populate, but not for update as that needs refactoring
2016-03-15 10:11:33 +00:00
Sebastian Gierlinger
f5602f3527 Merge pull request #6601 from ErisDS/remove-should-sinon
Remove should-sinon dependency
2016-03-15 11:10:48 +01:00
Sebastian Gierlinger
d71f46a40a Merge pull request #6600 from ErisDS/config-fix
Always override database config + exit tests on error
2016-03-15 11:08:50 +01:00
Hannah Wolfe
81deb88263 Improve getDatabaseVersion & versioning tests
refs #6301

- `currentVersion` was leftover from before the first public release of Ghost!
- simplified the code for `getDatabaseVersion`
- improved & made consistent how errors are handled in `getDatabaseVersion`
- migration error handling updated to reflect the changes in `getDatabaseVersion`
- added tests for both `getDatabaseVersion` and `setDatabaseVersion`
2016-03-14 17:11:04 +00:00
Hannah Wolfe
e4a1797085 Remove should-sinon dependency
no issue

- removes should-sinon dependency from package.json
- rewrites all usages of should-sinon to use normal should assertions

Unfortunately, should-sinon has very minimal documentation  and therefore it is hard to discern what is considered a correctly-written assertion:
- in some cases, refactoring to use should-sinon causes false positives
- in other cases, assertions that work written in the normal way fail when written using should-sinon (e.g. getters, combos with rewire)
The additional overhead created by these issues outweigh any benefit from the easier-to-read assertions
2016-03-14 16:52:22 +00:00
Hannah Wolfe
2386a69f9d Always override database config + exit tests on error
refs #6354, #6495 & #6599

- don't allow config.database to be merged, instead, override it always
- make sure that route tests call done even when they error
2016-03-14 15:39:59 +00:00