Commit 5bbf3ccf authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets Committed by randx
Browse files

Cucumber:

* Profile
* Browse code
* Sceleton for main features
* Wiki
* Commits
parent b27111b01fc3
......@@ -65,6 +65,8 @@ group :development, :test do
end
group :test do
gem 'cucumber-rails', :require => false
gem 'minitest', ">= 2.10"
gem "turn", :require => false
gem "simplecov", :require => false
gem "shoulda-matchers"
......
......@@ -118,6 +118,15 @@ GEM
coffee-script-source (1.3.3)
colored (1.2)
crack (0.3.1)
cucumber (1.2.1)
builder (>= 2.1.2)
diff-lcs (>= 1.1.3)
gherkin (~> 2.11.0)
json (>= 1.4.6)
cucumber-rails (1.3.0)
capybara (>= 1.1.2)
cucumber (>= 1.1.8)
nokogiri (>= 1.5.0)
daemons (1.1.8)
database_cleaner (0.8.0)
devise (1.5.3)
......@@ -138,6 +147,8 @@ GEM
ffi (1.0.11)
foreman (0.47.0)
thor (>= 0.13.6)
gherkin (2.11.0)
json (>= 1.4.6)
git (1.2.5)
graphael-rails (0.1.4)
jeweler
......@@ -185,6 +196,7 @@ GEM
treetop (~> 1.4.8)
method_source (0.7.1)
mime-types (1.18)
minitest (3.1.0)
modernizr (2.5.3)
sprockets (~> 2.0)
multi_json (1.3.6)
......@@ -348,6 +360,7 @@ DEPENDENCIES
chosen-rails
coffee-rails (= 3.2.2)
colored
cucumber-rails
database_cleaner
devise (~> 1.5)
drapper
......@@ -366,6 +379,7 @@ DEPENDENCIES
launchy
letter_opener
linguist (~> 1.0.0)!
minitest (>= 2.10)
modernizr (= 2.5.3)
mysql2
omniauth-ldap
......
<%
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
%>
default: <%= std_opts %> features
wip: --tags @wip:3 --wip features
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
development:
#
# PRODUCTION
#
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: gitlabhq_development
database: gitlabhq_production
pool: 5
username: root
password: "secure password"
# socket: /tmp/mysql.sock
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
#
# Development specific
#
#
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: gitlabhq_test
database: gitlabhq_development
pool: 5
username: root
password: "secure password"
# socket: /tmp/mysql.sock
production:
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test: &test
adapter: mysql2
encoding: utf8
reconnect: false
database: gitlabhq_production
database: gitlabhq_test
pool: 5
username: root
password: "secure password"
# socket: /tmp/mysql.sock
cucumber:
<<: *test
#
# PRODUCTION
#
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: gitlabhq_production
pool: 5
username: root
password: "secure password"
# socket: /tmp/mysql.sock
#
# Development specific
#
#
development:
adapter: mysql2
encoding: utf8
......@@ -11,7 +29,7 @@ development:
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
test: &test
adapter: mysql2
encoding: utf8
reconnect: false
......@@ -21,12 +39,5 @@ test:
password:
# socket: /tmp/mysql.sock
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: gitlabhq_production
pool: 5
username: root
password: "secure password"
# socket: /tmp/mysql.sock
cucumber:
<<: *test
#
# PRODUCTION
#
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
#
# Development specific
#
#
#
development:
adapter: sqlite3
database: db/development.sqlite3
......@@ -12,14 +27,11 @@ development:
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
test: &test
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
cucumber:
<<: *test
Feature: Profile
Background:
Given I signin as a user
Scenario: I look at my profile
Given I visit profile page
Then I should see my profile info
Scenario: I change my password
Given I visit profile password page
Then I change my password
And I should be redirected to sign in page
Scenario: I reset my token
Given I visit profile token page
Then I reset my token
And I should see new token
Feature: Browse branches
Background:
Given I signin as a user
And I own project "Shop"
Given I visit project branches page
Scenario: I can see all git branches
Scenario: I can download project by branch
Scenario: I can view protected branches
Scenario: I can manage protected branches
Feature: Comment commit
Background:
Given I signin as a user
And I own project "Shop"
Given I visit project commit page
Scenario: I leave a comment for commit
Feature: Browse commits
Background:
Given I signin as a user
And I own project "Shop"
Given I visit project commits page
Scenario: I browse commits list for master branch
Then I see project commits
Scenario: I browse atom feed of commits list for master branch
Given I click atom feed link
Then I see commits atom feed
Scenario: I browse commit from list
Given I click on commit link
Then I see commit info
Scenario: I compare refs
Given I visit compare refs page
And I fill compare fields with refs
And I see compared refs
Feature: Browse tags
Background:
Given I signin as a user
And I own project "Shop"
Given I visit project tags page
Scenario: I can see all git tags
Scenario: I can download project by tag
Feature: Create Project
In order to get access to project sections
A user with ability to create a project
Should be able to create a new one
Scenario: User create a project
Given I signin as a user
When I visit new project page
And fill project form with valid data
Then I should see project page
And I should see empty project instuctions
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment