mirror of
https://github.com/flarum/core.git
synced 2025-10-17 09:46:14 +02:00
Big front-end asset/filestructure refactor
- Extract shared Ember components into a “flarum-common” ember-cli addon. This can be used by both the forum + admin Ember apps, keeping things DRY - Move LESS styles into their own top-level directory and do a similar thing (extract common styles) - Add LESS/JS compilation and versioning to PHP (AssetManager) - Set up admin entry point (Theoretical) upgrade instructions: - Delete everything in [app_root]/public - Set up tooling in forum/admin Ember apps (npm install/update, bower install/update) and then build them (ember build) - php artisan vendor:publish - Upgrade flarum/flarum repo (slight change in a config file) - If you need to trigger a LESS/JS recompile, delete the .css/.js files in [app_root]/public/flarum. I set up LiveReload to do this for me when I change files in less/ or ember/ Todo: - Start writing admin app! - Remove bootstrap/font-awesome from repo and instead depend on their composer packages? Maybe? (Bower is not an option here)
This commit is contained in:
48
ember/admin/tests/integration/index-test.js
Normal file
48
ember/admin/tests/integration/index-test.js
Normal file
@@ -0,0 +1,48 @@
|
||||
import Ember from "ember";
|
||||
import { test } from 'ember-qunit';
|
||||
import startApp from '../helpers/start-app';
|
||||
var App;
|
||||
|
||||
module('Index', {
|
||||
setup: function() {
|
||||
App = startApp();
|
||||
},
|
||||
teardown: function() {
|
||||
Ember.run(App, App.destroy);
|
||||
}
|
||||
});
|
||||
|
||||
test('Discussion list loading', function() {
|
||||
expect(3);
|
||||
visit('/').then(function() {
|
||||
equal(find('.discussions-list').length, 1, 'Page contains list of discussions');
|
||||
equal(find('.discussions-list li').length, 20, 'There are 20 discussions in the list');
|
||||
|
||||
click('.control-loadMore').then(function() {
|
||||
equal(find('.discussions-list li').length, 40, 'There are 40 discussions in the list');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
test('Discussion list sorting', function() {
|
||||
expect(1);
|
||||
visit('/').then(function() {
|
||||
fillIn('.control-sort select', 'replies').then(function() {
|
||||
var discussions = find('.discussions-list li');
|
||||
var good = true;
|
||||
var getCount = function(item) {
|
||||
return parseInt(item.find('.count strong').text());
|
||||
};
|
||||
var previousCount = getCount(discussions.eq(0));
|
||||
for (var i = 1; i < discussions.length; i++) {
|
||||
var count = getCount(discussions.eq(i));
|
||||
if (count > previousCount) {
|
||||
good = false;
|
||||
break;
|
||||
}
|
||||
previousCount = count;
|
||||
}
|
||||
ok(good, 'Discussions are listed in order of reply count');
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user