finally some working tests for "show more"
This commit is contained in:
parent
813b706f8e
commit
5dae27c170
3 changed files with 44 additions and 25 deletions
24
features/show_more.feature
Normal file
24
features/show_more.feature
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
@javascript
|
||||||
|
Feature: collapsing and expanding long posts
|
||||||
|
In order to tame the lengths of posts in my stream
|
||||||
|
As a rocket scientist
|
||||||
|
I want long posts to be collapsed and expand on click
|
||||||
|
|
||||||
|
Background:
|
||||||
|
Given a user with username "bob"
|
||||||
|
And I sign in as "bob@bob.bob"
|
||||||
|
And I am on the home page
|
||||||
|
|
||||||
|
Scenario: post a very long message
|
||||||
|
Given I post an extremely long status message
|
||||||
|
And I go to the home page
|
||||||
|
|
||||||
|
Then the post should be collapsed
|
||||||
|
|
||||||
|
Scenario: expand a very long message
|
||||||
|
Given I post an extremely long status message
|
||||||
|
And I go to the home page
|
||||||
|
And I expand the post
|
||||||
|
|
||||||
|
Then the post should be expanded
|
||||||
|
|
||||||
|
|
@ -2,6 +2,17 @@ Then /^the post "([^"]*)" should be marked nsfw$/ do |text|
|
||||||
assert_nsfw(text)
|
assert_nsfw(text)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Then /^the post should be collapsed$/ do
|
||||||
|
find(".collapsible").should have_css(".expander")
|
||||||
|
find(".collapsible").has_selector?(".collapsed")
|
||||||
|
end
|
||||||
|
|
||||||
|
Then /^the post should be expanded$/ do
|
||||||
|
find(".expander").should_not be_visible
|
||||||
|
find(".collapsible").has_no_selector?(".collapsed")
|
||||||
|
find(".collapsible").has_selector?(".opened")
|
||||||
|
end
|
||||||
|
|
||||||
Then /^I should see an uploaded image within the photo drop zone$/ do
|
Then /^I should see an uploaded image within the photo drop zone$/ do
|
||||||
find("#photodropzone img")["src"].should include("uploads/images")
|
find("#photodropzone img")["src"].should include("uploads/images")
|
||||||
end
|
end
|
||||||
|
|
@ -32,6 +43,10 @@ When /^I click on the first block button/ do
|
||||||
find(".block_user").click
|
find(".block_user").click
|
||||||
end
|
end
|
||||||
|
|
||||||
|
When /^I expand the post$/ do
|
||||||
|
find(".expander").click
|
||||||
|
wait_until{ !find(".expander").visible? }
|
||||||
|
end
|
||||||
|
|
||||||
Then /^I should see "([^"]*)" as the first post in my stream$/ do |text|
|
Then /^I should see "([^"]*)" as the first post in my stream$/ do |text|
|
||||||
first_post_text.should include(text)
|
first_post_text.should include(text)
|
||||||
|
|
@ -44,3 +59,7 @@ end
|
||||||
When /^I click the publisher and post "([^"]*)"$/ do |text|
|
When /^I click the publisher and post "([^"]*)"$/ do |text|
|
||||||
click_and_post(text)
|
click_and_post(text)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
When /^I post an extremely long status message$/ do
|
||||||
|
click_and_post("I am a very interesting message " * 64)
|
||||||
|
end
|
||||||
|
|
|
||||||
|
|
@ -39,30 +39,6 @@ describe("app.views.Stream", function() {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('clicking read more', function() {
|
|
||||||
var readMoreLink;
|
|
||||||
|
|
||||||
beforeEach(function() {
|
|
||||||
this.statusMessage = this.stream.posts.models[0];
|
|
||||||
this.statusElement = $(this.view.$(".stream_element")[0]);
|
|
||||||
readMoreLink = this.statusElement.find('.expander');
|
|
||||||
readMoreLink.text("read more");
|
|
||||||
|
|
||||||
$(this.view.el).find('.collapsible').css('width', 400); // make content narrow like in real stream
|
|
||||||
setFixtures(this.view.el);
|
|
||||||
this.view.postRender();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('expands the post', function() {
|
|
||||||
// TODO
|
|
||||||
var textElement = this.statusElement.find('.collapsible');
|
|
||||||
expect(textElement.hasClass('collapsed')).toBeTruthy();
|
|
||||||
readMoreLink.click();
|
|
||||||
expect(textElement.hasClass('collapsed')).toBeFalsy();
|
|
||||||
expect(textElement.hasClass('opened')).toBeTruthy();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("infScroll", function() {
|
describe("infScroll", function() {
|
||||||
// NOTE: inf scroll happens at 500px
|
// NOTE: inf scroll happens at 500px
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue