diff options
| author | Callum Dryden <callum.dryden@rightscale.com> | 2016-10-06 15:19:27 +0000 |
|---|---|---|
| committer | Callum Dryden <callum.dryden@rightscale.com> | 2016-10-20 00:26:45 +0000 |
| commit | 9124310f2871117acaac98781be84c9fc016e2ad (patch) | |
| tree | 3bb94c532a5f52dc27f483ab6de0a829f6831c19 /spec/features/dashboard | |
| parent | c08435e3c25f0a7a705ed8a49b16dde176b41a40 (diff) | |
| download | gitlab-ce-9124310f2871117acaac98781be84c9fc016e2ad.tar.gz | |
Differentiate the expire from leave event
At the moment we cannot see weather a user left a project due to their
membership expiring of if they themselves opted to leave the project.
This adds a new event type that allows us to make this differentiation.
Note that is not really feasable to go back and reliably fix up the
previous events. As a result the events for previous expire removals
will remain the same however events of this nature going forward will be
correctly represented.
Diffstat (limited to 'spec/features/dashboard')
| -rw-r--r-- | spec/features/dashboard/project_member_activity_index_spec.rb | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/spec/features/dashboard/project_member_activity_index_spec.rb b/spec/features/dashboard/project_member_activity_index_spec.rb new file mode 100644 index 00000000000..ba77093a6d4 --- /dev/null +++ b/spec/features/dashboard/project_member_activity_index_spec.rb @@ -0,0 +1,41 @@ +require 'spec_helper' + +feature 'Project member activity', feature: true, js: true do + include WaitForAjax + + let(:user) { create(:user) } + let(:project) { create(:empty_project, :public, name: 'x', namespace: user.namespace) } + + before do + project.team << [user, :master] + end + + def visit_activities_and_wait_with_event(event_type) + Event.create(project: project, author_id: user.id, action: event_type) + visit activity_namespace_project_path(project.namespace.path, project.path) + wait_for_ajax + end + + subject { page.find(".event-title").text } + + context 'when a user joins the project' do + before { visit_activities_and_wait_with_event(Event::JOINED) } + + it { is_expected.to eq("#{user.name} joined project") } + end + + context 'when a user leaves the project' do + before { visit_activities_and_wait_with_event(Event::LEFT) } + + it { is_expected.to eq("#{user.name} left project") } + end + + context 'when a users membership expires for the project' do + before { visit_activities_and_wait_with_event(Event::EXPIRED) } + + it "presents the correct message" do + message = "#{user.name} removed due to membership expiration from project" + is_expected.to eq(message) + end + end +end |
