doop 0.0.3.1 → 0.0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/app/assets/images/nino-icon.png +0 -0
- data/app/assets/images/passport-icon.png +0 -0
- data/app/assets/images/time-icon.png +0 -0
- data/app/helpers/doop_helper.rb +14 -7
- data/doop.gemspec +4 -2
- data/lib/doop-rspec.rb +82 -0
- data/lib/doop.rb +3 -1
- data/lib/doop/version.rb +1 -1
- data/lib/doop_controller.rb +14 -9
- data/lib/generators/doopgovuk/doopgovuk_generator.rb +3 -0
- data/lib/generators/doopgovuk/templates/app/assets/javascripts/demo.js.coffee +7 -0
- data/lib/generators/doopgovuk/templates/app/assets/javascripts/demo/application.js +2 -0
- data/lib/generators/doopgovuk/templates/app/assets/stylesheets/demo.css.scss +50 -8
- data/lib/generators/doopgovuk/templates/app/assets/stylesheets/demo/application.css +3 -0
- data/lib/generators/doopgovuk/templates/app/controllers/demo_controller.rb +202 -68
- data/lib/generators/doopgovuk/templates/app/views/demo/_about_you.html.erb +84 -0
- data/lib/generators/doopgovuk/templates/app/views/demo/_before_you_begin.html.erb +56 -0
- data/lib/generators/doopgovuk/templates/app/views/demo/_children.html.erb +64 -0
- data/lib/generators/doopgovuk/templates/app/views/demo/_declaration.html.erb +32 -0
- data/lib/generators/doopgovuk/templates/app/views/demo/_preamble.html.erb +36 -27
- data/lib/generators/doopgovuk/templates/app/views/demo/harness.html.erb +1 -1
- data/lib/generators/doopgovuk/templates/app/views/demo/index.html.erb +6 -0
- data/lib/generators/doopgovuk/templates/app/views/demo/index.js.erb +1 -1
- data/lib/generators/doopgovuk/templates/app/views/doop/_change_answer_tooltip.html.erb +1 -1
- data/lib/generators/doopgovuk/templates/app/views/doop/_debug.html.erb +4 -0
- data/lib/generators/doopgovuk/templates/app/views/doop/_error.html.erb +1 -3
- data/lib/generators/doopgovuk/templates/app/views/doop/_navbar.html.erb +4 -3
- data/lib/generators/doopgovuk/templates/app/views/doop/_question.html.erb +11 -7
- data/lib/generators/doopgovuk/templates/app/views/doop/_question_form.html.erb +5 -6
- data/lib/generators/doopgovuk/templates/app/views/doop/_textfield.html.erb +14 -0
- data/lib/generators/doopgovuk/templates/app/views/doop/_tooltip.html.erb +1 -1
- data/lib/generators/doopgovuk/templates/spec/features/demo_spec.rb +121 -48
- data/lib/generators/doopgovuk/templates/spec/rails_helper.rb +4 -73
- data/spec/doop_spec.rb +47 -0
- metadata +22 -12
- data/lib/generators/doopgovuk/templates/app/views/demo/_summary.html.erb +0 -10
- data/lib/generators/doopgovuk/templates/app/views/demo/_your_details.html.erb +0 -55
@@ -2,69 +2,142 @@ require 'rails_helper'
|
|
2
2
|
require 'pry'
|
3
3
|
|
4
4
|
|
5
|
-
feature "
|
5
|
+
feature "Child Benefit online form" do
|
6
6
|
|
7
|
-
scenario "
|
8
|
-
|
7
|
+
scenario "Complete Child Benefit form", :js => true do
|
8
|
+
before_you_begin
|
9
|
+
preamble
|
10
|
+
about_you
|
11
|
+
children
|
12
|
+
declaration
|
9
13
|
end
|
10
14
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
expect(change_answer_tooltip_text).to match /additional questions may be asked/
|
16
|
-
end
|
15
|
+
def before_you_begin
|
16
|
+
visit '/demo/index'
|
17
|
+
wait_for_page( "before_you_begin" )
|
18
|
+
click_button "Start"
|
17
19
|
end
|
18
20
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
def preamble
|
22
|
+
wait_for_page( "preamble" )
|
23
|
+
|
24
|
+
# check income_more_than_50000 alternate flows
|
25
|
+
answer_question( "income_more_than_50000") do
|
26
|
+
click_button "No,"
|
27
|
+
expect( tooltip ).to be_visible
|
28
|
+
end
|
29
|
+
expect( question "do_you_still_want_to_apply" ).to be_disabled
|
30
|
+
|
31
|
+
change_question( "income_more_than_50000") do
|
32
|
+
expect( change_answer_tooltip ).to be_visible
|
33
|
+
click_button "Yes,"
|
25
34
|
end
|
35
|
+
|
36
|
+
expect( question "do_you_still_want_to_apply" ).to be_enabled
|
37
|
+
|
38
|
+
answer_question( "do_you_still_want_to_apply") { click_button "Yes," }
|
39
|
+
click_button "Continue"
|
26
40
|
end
|
27
41
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
42
|
+
|
43
|
+
def about_you
|
44
|
+
wait_for_page( "about_you" )
|
45
|
+
answer_question( "your_name") do
|
46
|
+
b_fill_in( "title" => "Mr", "surname" => "Middleton", "firstname" => "Mark", "middlenames" => "Alan")
|
47
|
+
click_button "Continue"
|
48
|
+
expect( rollup_text ).to eq( "Mr Mark Alan Middleton" )
|
49
|
+
end
|
50
|
+
answer_question( "known_by_other_name" ) { click_button "No," }
|
51
|
+
expect( question "previous_name" ).to be_disabled
|
52
|
+
change_question( "known_by_other_name" ) { click_button "Yes," }
|
53
|
+
expect( question "previous_name" ).to be_enabled
|
54
|
+
|
55
|
+
answer_question( "previous_name" ) { b_fill_in( "answer" => "Bob Smith"); click_button "Continue" }
|
56
|
+
|
57
|
+
answer_question( "dob" ) do
|
58
|
+
b_fill_in( "answer" => "25/02/1977")
|
59
|
+
click_button "Continue"
|
60
|
+
expect( rollup_text ).to eq( "25 February 1977" )
|
61
|
+
end
|
62
|
+
|
63
|
+
answer_question( "your_address" ) do
|
64
|
+
b_fill_in( "address1" => "1 Runswick Avenue", "address2" => "Woolston", "address3" => "Leeds", "postcode" => "LE31 4WP" )
|
65
|
+
click_button "Continue"
|
66
|
+
expect( rollup_text ).to eq( "1 Runswick Avenue, LE31 4WP" )
|
67
|
+
end
|
68
|
+
|
69
|
+
answer_question( "lived_at_address_for_more_than_12_months" ) { click_button "Yes," }
|
70
|
+
expect( question "last_address" ).to be_disabled
|
71
|
+
change_question( "lived_at_address_for_more_than_12_months" ) { click_button "No," }
|
72
|
+
expect( question "last_address" ).to be_enabled
|
73
|
+
|
74
|
+
answer_question( "last_address" ) do
|
75
|
+
b_fill_in( "address1" => "5 Runswick Avenue", "address2" => "Woolston", "address3" => "Leeds", "postcode" => "LE31 4WP" )
|
76
|
+
click_button "Continue"
|
77
|
+
expect( rollup_text ).to eq( "5 Runswick Avenue, LE31 4WP" )
|
78
|
+
end
|
79
|
+
|
80
|
+
answer_question( "your_phone_numbers" ) do
|
81
|
+
b_fill_in( "daytime" => "01235 6789117", "evening" => "01235 678117" )
|
82
|
+
click_button "Continue"
|
83
|
+
expect( rollup_text ).to eq( "Provided" )
|
84
|
+
end
|
85
|
+
|
86
|
+
answer_question( "have_nino" ) { click_button "No," }
|
87
|
+
expect( question "nino" ).to be_disabled
|
88
|
+
|
89
|
+
change_question( "have_nino" ) { click_button "Yes," }
|
90
|
+
expect( question "nino" ).to be_enabled
|
91
|
+
|
92
|
+
answer_question( "nino" ) do
|
93
|
+
b_fill_in( "answer" => "00123456A" )
|
94
|
+
click_button "Continue"
|
95
|
+
expect( rollup_text ).to eq( "00123456A" )
|
96
|
+
end
|
97
|
+
|
98
|
+
click_button "Continue"
|
35
99
|
end
|
36
100
|
|
37
|
-
def
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
click_button "Render"
|
43
|
-
return
|
101
|
+
def children
|
102
|
+
wait_for_page( "children" )
|
103
|
+
|
104
|
+
answer_question( "how_many_birth_certs" ) do
|
105
|
+
b_fill_in( "answer" => "1" ); click_button "Continue"
|
44
106
|
end
|
45
107
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
answer_question( "
|
52
|
-
click_button "Continue
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
108
|
+
# child__1
|
109
|
+
answer_question( "name" ) do
|
110
|
+
b_fill_in( "firstname" => "Padraig", "middlenames" => "Alan", "surname" => "Middleton" ); click_button "Continue"
|
111
|
+
expect( rollup_text ).to eq ( "Padraig Alan Middleton" )
|
112
|
+
end
|
113
|
+
answer_question( "gender" ) { click_button "Male" }
|
114
|
+
answer_question( "dob" ) { b_fill_in( "answer" => "30/09/2006" ); click_button "Continue" }
|
115
|
+
answer_question( "own_child" ) { click_button "Yes," }
|
116
|
+
answer_question( "child__1" ) { click_button "Continue" }
|
117
|
+
|
118
|
+
# child__2
|
119
|
+
click_button "Add another child"
|
120
|
+
answer_question( "name" ) do
|
121
|
+
b_fill_in( "firstname" => "Annie", "middlenames" => "", "surname" => "Middleton" ); click_button "Continue"
|
122
|
+
expect( rollup_text ).to eq ( "Annie Middleton" )
|
59
123
|
end
|
60
|
-
|
61
|
-
answer_question( "
|
124
|
+
answer_question( "gender" ) { click_button "Female" }
|
125
|
+
answer_question( "dob" ) { b_fill_in( "answer" => "24/02/2008" ); click_button "Continue" }
|
126
|
+
answer_question( "own_child" ) { click_button "Yes," }
|
127
|
+
answer_question( "child__2" ) { click_button "Continue" }
|
128
|
+
|
129
|
+
# remove child__2
|
130
|
+
change_question( "child__2" ) {
|
131
|
+
click_button "Remove child"
|
132
|
+
}
|
133
|
+
|
134
|
+
expect( question "child__2" ).to be_disabled
|
62
135
|
click_button "Continue"
|
63
|
-
click_button "Continue and Save"
|
64
136
|
|
65
|
-
wait_for_page( "Summary" )
|
66
|
-
answer_question( "Terms and conditions") { click_button "I have read" }
|
67
|
-
$completed_form_yaml = page.find_by_id( "doop_data", :visible => false).value
|
68
137
|
end
|
69
138
|
|
139
|
+
|
140
|
+
def declaration
|
141
|
+
wait_for_page( "declaration" )
|
142
|
+
end
|
70
143
|
end
|
@@ -8,6 +8,8 @@ require 'capybara/rspec'
|
|
8
8
|
require 'capybara-webkit'
|
9
9
|
require 'headless'
|
10
10
|
require 'capybara-screenshot/rspec'
|
11
|
+
require 'doop-rspec'
|
12
|
+
|
11
13
|
|
12
14
|
|
13
15
|
Capybara.javascript_driver = :webkit
|
@@ -44,6 +46,8 @@ RSpec.configure do |config|
|
|
44
46
|
@headless.destroy
|
45
47
|
end
|
46
48
|
|
49
|
+
config.filter_run_excluding :broken => true
|
50
|
+
|
47
51
|
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
48
52
|
#config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
49
53
|
|
@@ -67,76 +71,3 @@ RSpec.configure do |config|
|
|
67
71
|
# https://relishapp.com/rspec/rspec-rails/docs
|
68
72
|
#config.infer_spec_type_from_file_location!
|
69
73
|
end
|
70
|
-
|
71
|
-
RSpec::Matchers.define :be_asked do
|
72
|
-
match do |q_title|
|
73
|
-
page.has_css?( '.question-open h2', :text => q_title )
|
74
|
-
end
|
75
|
-
|
76
|
-
failure_message do |q_title|
|
77
|
-
actual = page.all( '.question-open h2', ).last.text
|
78
|
-
"Expected question to be asked: #{q_title}, but was asked #{actual}"
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
82
|
-
|
83
|
-
RSpec::Matchers.define :be_enabled do
|
84
|
-
match do |q_title|
|
85
|
-
page.has_css?( '.question_title', :text => q_title )
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
RSpec::Matchers.define :be_disabled do
|
90
|
-
match do |q_title|
|
91
|
-
page.has_no_css?( '.question_title', :text => q_title )
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
def question text
|
96
|
-
text
|
97
|
-
end
|
98
|
-
|
99
|
-
def change_question q_title, &block
|
100
|
-
@q_title = q_title
|
101
|
-
page.find( '.question-closed div.title', :text => q_title ).find(:xpath, "..").find( 'div.answer a' ).click
|
102
|
-
expect( question q_title ).to be_asked
|
103
|
-
yield block
|
104
|
-
end
|
105
|
-
|
106
|
-
def answer_question q_title, &block
|
107
|
-
@q_title = q_title
|
108
|
-
expect( question q_title ).to be_asked
|
109
|
-
yield block
|
110
|
-
page.find( '.question-closed div.title', :text => q_title )
|
111
|
-
end
|
112
|
-
|
113
|
-
def rollup_text
|
114
|
-
page.find( '.question-closed div.title', :text => @q_title ).find(:xpath, '..').find( 'div.answer').text
|
115
|
-
end
|
116
|
-
|
117
|
-
def tooltip_text
|
118
|
-
page.find( '.tooltip' ).text
|
119
|
-
end
|
120
|
-
|
121
|
-
def change_answer_tooltip_text
|
122
|
-
page.find( '.change_answer_tooltip' ).text
|
123
|
-
end
|
124
|
-
|
125
|
-
def wait_for_page p_title
|
126
|
-
page.find_by_id( "page_title", :text=>p_title)
|
127
|
-
end
|
128
|
-
|
129
|
-
def page_title
|
130
|
-
page.find_by_id( "page_title").text
|
131
|
-
end
|
132
|
-
|
133
|
-
def b_fill_in options = {}
|
134
|
-
options.keys.each do |key|
|
135
|
-
page.fill_in( "b_#{key}", :with => options[key] )
|
136
|
-
end
|
137
|
-
end
|
138
|
-
|
139
|
-
def change_page page_name
|
140
|
-
page.find_link( page_name ).click
|
141
|
-
wait_for_page page_name
|
142
|
-
end
|
data/spec/doop_spec.rb
CHANGED
@@ -2,6 +2,53 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe "Doop" do
|
4
4
|
|
5
|
+
describe "answering in sequence" do
|
6
|
+
|
7
|
+
let(:question) {
|
8
|
+
q = Doop::Doop.new
|
9
|
+
q.yaml=
|
10
|
+
<<-EOS
|
11
|
+
|
12
|
+
pages: {
|
13
|
+
about_you: {
|
14
|
+
dob: { _question: "What is your dob" }
|
15
|
+
},
|
16
|
+
about_your_partner: {
|
17
|
+
dob: { _question: "What is your dob" }
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
EOS
|
22
|
+
q.init
|
23
|
+
q.ask_next
|
24
|
+
q
|
25
|
+
}
|
26
|
+
|
27
|
+
it "can handle questions with similar names" do
|
28
|
+
expect(question.currently_asked).to eq( "/pages/about_you/dob" )
|
29
|
+
question.answer( { "answer" => "aa"} )
|
30
|
+
expect(question.currently_asked).to eq( "/pages/about_you" )
|
31
|
+
question.answer( { "answer" => "bb"} )
|
32
|
+
expect(question.currently_asked).to eq( "/pages/about_your_partner/dob" )
|
33
|
+
question.answer( { "answer" => "cc"} )
|
34
|
+
expect(question.currently_asked).to eq( "/pages/about_your_partner" )
|
35
|
+
question.answer( { "answer" => "dd"} )
|
36
|
+
expect(question.currently_asked).to eq( "/pages" )
|
37
|
+
question.answer( { "answer" => "ee"} )
|
38
|
+
|
39
|
+
expect( question["/pages/about_you/dob/_answer"] ).to eq("aa")
|
40
|
+
expect( question["/pages/about_you/_answer"] ).to eq("bb")
|
41
|
+
expect( question["/pages/about_your_partner/dob/_answer"] ).to eq("cc")
|
42
|
+
expect( question["/pages/about_your_partner/_answer"] ).to eq("dd")
|
43
|
+
expect( question["/pages/_answer"] ).to eq("ee")
|
44
|
+
|
45
|
+
question.change( "/pages/about_you/dob" )
|
46
|
+
question.answer( { "answer" => "ff"} )
|
47
|
+
expect(question.currently_asked).to eq( "/pages/about_you" )
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
5
52
|
describe "automatic binding" do
|
6
53
|
|
7
54
|
let(:question) {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Middleton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -42,30 +42,30 @@ dependencies:
|
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '3.1'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '3.1'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rails
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '4.1'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '4.1'
|
69
69
|
description: A question framework for govuk sites, inspired by the work GDS have done
|
70
70
|
to standardize the cross government internet presence.
|
71
71
|
email:
|
@@ -83,30 +83,40 @@ files:
|
|
83
83
|
- Rakefile
|
84
84
|
- app/assets/images/dash.gif
|
85
85
|
- app/assets/images/info-icon.png
|
86
|
+
- app/assets/images/nino-icon.png
|
87
|
+
- app/assets/images/passport-icon.png
|
86
88
|
- app/assets/images/progress-tick-large.png
|
89
|
+
- app/assets/images/time-icon.png
|
87
90
|
- app/helpers/doop_helper.rb
|
88
91
|
- bin/.gitignore
|
89
92
|
- doop.gemspec
|
93
|
+
- lib/doop-rspec.rb
|
90
94
|
- lib/doop.rb
|
91
95
|
- lib/doop/version.rb
|
92
96
|
- lib/doop_controller.rb
|
93
97
|
- lib/generators/doopgovuk/USAGE
|
94
98
|
- lib/generators/doopgovuk/doopgovuk_generator.rb
|
95
99
|
- lib/generators/doopgovuk/templates/app/assets/javascripts/demo.js.coffee
|
100
|
+
- lib/generators/doopgovuk/templates/app/assets/javascripts/demo/application.js
|
96
101
|
- lib/generators/doopgovuk/templates/app/assets/stylesheets/demo.css.scss
|
102
|
+
- lib/generators/doopgovuk/templates/app/assets/stylesheets/demo/application.css
|
97
103
|
- lib/generators/doopgovuk/templates/app/controllers/demo_controller.rb
|
104
|
+
- lib/generators/doopgovuk/templates/app/views/demo/_about_you.html.erb
|
105
|
+
- lib/generators/doopgovuk/templates/app/views/demo/_before_you_begin.html.erb
|
106
|
+
- lib/generators/doopgovuk/templates/app/views/demo/_children.html.erb
|
107
|
+
- lib/generators/doopgovuk/templates/app/views/demo/_declaration.html.erb
|
98
108
|
- lib/generators/doopgovuk/templates/app/views/demo/_preamble.html.erb
|
99
|
-
- lib/generators/doopgovuk/templates/app/views/demo/_summary.html.erb
|
100
|
-
- lib/generators/doopgovuk/templates/app/views/demo/_your_details.html.erb
|
101
109
|
- lib/generators/doopgovuk/templates/app/views/demo/harness.html.erb
|
102
110
|
- lib/generators/doopgovuk/templates/app/views/demo/index.html.erb
|
103
111
|
- lib/generators/doopgovuk/templates/app/views/demo/index.js.erb
|
104
112
|
- lib/generators/doopgovuk/templates/app/views/doop/_change_answer_tooltip.html.erb
|
113
|
+
- lib/generators/doopgovuk/templates/app/views/doop/_debug.html.erb
|
105
114
|
- lib/generators/doopgovuk/templates/app/views/doop/_error.html.erb
|
106
115
|
- lib/generators/doopgovuk/templates/app/views/doop/_info_box.html.erb
|
107
116
|
- lib/generators/doopgovuk/templates/app/views/doop/_navbar.html.erb
|
108
117
|
- lib/generators/doopgovuk/templates/app/views/doop/_question.html.erb
|
109
118
|
- lib/generators/doopgovuk/templates/app/views/doop/_question_form.html.erb
|
119
|
+
- lib/generators/doopgovuk/templates/app/views/doop/_textfield.html.erb
|
110
120
|
- lib/generators/doopgovuk/templates/app/views/doop/_tooltip.html.erb
|
111
121
|
- lib/generators/doopgovuk/templates/app/views/layouts/application.html.erb
|
112
122
|
- lib/generators/doopgovuk/templates/spec/features/demo_spec.rb
|
@@ -1,10 +0,0 @@
|
|
1
|
-
|
2
|
-
<%=question_form doop, res do %>
|
3
|
-
<%=question "/page/summary" do |root, answer| %>
|
4
|
-
<%=question "/page/summary/terms_and_conditions" do |root, answer| %>
|
5
|
-
<p>I have answered the questions to the best of my knowledge and agree to abide by the terms and conditions of this service.</p>
|
6
|
-
<button>I have read and understood the terms and conditions</button>
|
7
|
-
<% end %>
|
8
|
-
|
9
|
-
<% end %>
|
10
|
-
<% end %>
|