dorsale 3.1.7 → 3.2.0
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 +4 -4
- data/CHANGELOG.md +15 -0
- data/app/assets/javascripts/dorsale/common/comments.coffee +18 -20
- data/app/assets/javascripts/dorsale/common/datepicker.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/forms.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/modals.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/tabs_loader.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/tags.coffee +1 -1
- data/app/assets/javascripts/dorsale/common/tooltips.coffee +1 -1
- data/app/assets/javascripts/dorsale/dependencies.coffee +2 -0
- data/app/assets/javascripts/dorsale/engines/billing_machine.coffee +1 -1
- data/app/assets/stylesheets/dorsale/all.sass +1 -1
- data/app/assets/stylesheets/dorsale/common/comments.sass +1 -1
- data/app/assets/stylesheets/dorsale/common/filters.sass +16 -1
- data/app/assets/stylesheets/dorsale/common/styles.sass +3 -0
- data/app/assets/stylesheets/dorsale/engines/customer_vault.sass +2 -2
- data/app/assets/stylesheets/dorsale/engines/expense_gun.sass +3 -0
- data/app/assets/stylesheets/dorsale/engines/flyboy.sass +4 -0
- data/app/assets/stylesheets/dorsale/print.sass +73 -0
- data/app/controllers/dorsale/alexandrie/attachments_controller.rb +0 -4
- data/app/controllers/dorsale/application_controller.rb +12 -0
- data/app/controllers/dorsale/billing_machine/application_controller.rb +0 -5
- data/app/controllers/dorsale/billing_machine/id_cards_controller.rb +0 -4
- data/app/controllers/dorsale/billing_machine/invoices_controller.rb +0 -4
- data/app/controllers/dorsale/billing_machine/payment_terms_controller.rb +0 -4
- data/app/controllers/dorsale/billing_machine/quotations_controller.rb +0 -4
- data/app/controllers/dorsale/comments_controller.rb +30 -55
- data/app/controllers/dorsale/customer_vault/links_controller.rb +5 -5
- data/app/controllers/dorsale/customer_vault/people_controller.rb +9 -11
- data/app/controllers/dorsale/expense_gun/categories_controller.rb +0 -4
- data/app/controllers/dorsale/expense_gun/expenses_controller.rb +1 -5
- data/app/controllers/dorsale/flyboy/folders_controller.rb +0 -4
- data/app/controllers/dorsale/flyboy/tasks_controller.rb +0 -4
- data/app/controllers/dorsale/users_controller.rb +7 -11
- data/app/filters/dorsale/billing_machine/small_data/filter_strategy_by_customer.rb +1 -1
- data/app/filters/dorsale/flyboy/small_data/filter_for_tasks.rb +1 -1
- data/app/helpers/dorsale/all_helpers.rb +1 -0
- data/app/helpers/dorsale/billing_machine/application_helper.rb +23 -0
- data/app/helpers/dorsale/comments_helper.rb +14 -2
- data/app/helpers/dorsale/flyboy/application_helper.rb +4 -0
- data/app/helpers/dorsale/text_helper.rb +12 -7
- data/app/libs/dorsale/sortable_uuid_generator.rb +11 -0
- data/app/mailers/dorsale/billing_machine/invoice_mailer.rb +2 -4
- data/app/models/concerns/dorsale/active_record_uuid_concern.rb +15 -0
- data/app/models/concerns/dorsale/default_values_concern.rb +13 -0
- data/app/models/dorsale/alexandrie/attachment.rb +3 -3
- data/app/models/dorsale/application_record.rb +11 -0
- data/app/models/dorsale/billing_machine/invoice.rb +13 -13
- data/app/models/dorsale/billing_machine/invoice_line.rb +3 -9
- data/app/models/dorsale/billing_machine/quotation.rb +6 -12
- data/app/models/dorsale/billing_machine/quotation_line.rb +3 -8
- data/app/models/dorsale/customer_vault/person.rb +5 -4
- data/app/models/dorsale/expense_gun/expense.rb +3 -4
- data/app/models/dorsale/expense_gun/expense_line.rb +4 -5
- data/app/models/dorsale/flyboy/folder.rb +2 -3
- data/app/models/dorsale/flyboy/task.rb +5 -6
- data/app/models/dorsale/flyboy/task_comment.rb +3 -8
- data/app/models/dorsale/users/active.rb +1 -1
- data/app/policies/dorsale/billing_machine/invoice_policy_helper.rb +5 -0
- data/app/policies/dorsale/comment_policy_helper.rb +21 -0
- data/app/serializers/dorsale/serializers/xlsx.rb +13 -2
- data/app/views/dorsale/billing_machine/invoices/_details.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/_filters.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/_form.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/_header_infos.html.slim +9 -4
- data/app/views/dorsale/billing_machine/invoices/_list.html.slim +3 -2
- data/app/views/dorsale/billing_machine/invoices/email.html.slim +6 -0
- data/app/views/dorsale/billing_machine/invoices/index.html.slim +1 -1
- data/app/views/dorsale/billing_machine/invoices/index.xlsx.ruby +41 -0
- data/app/views/dorsale/billing_machine/quotations/_filters.html.slim +1 -1
- data/app/views/dorsale/billing_machine/quotations/_list.html.slim +4 -3
- data/app/views/dorsale/comments/_comment.html.slim +2 -2
- data/app/views/dorsale/comments/_comments.html.slim +5 -0
- data/app/views/dorsale/comments/_form.html.slim +5 -6
- data/app/views/dorsale/comments/_list.html.slim +1 -1
- data/app/views/dorsale/comments/edit.html.slim +1 -1
- data/app/views/dorsale/customer_vault/links/edit.html.slim +13 -17
- data/app/views/dorsale/customer_vault/links/index.html.slim +10 -0
- data/app/views/dorsale/customer_vault/links/new.html.slim +10 -14
- data/app/views/dorsale/customer_vault/people/_actions.html.slim +2 -2
- data/app/views/dorsale/customer_vault/people/_data_context.html.slim +1 -1
- data/app/views/dorsale/customer_vault/people/_index_tabs.html.slim +2 -2
- data/app/views/dorsale/customer_vault/people/_show_layout.html.slim +10 -0
- data/app/views/dorsale/customer_vault/people/_tabs.html.slim +24 -0
- data/app/views/dorsale/customer_vault/people/activity.slim +2 -3
- data/app/views/dorsale/customer_vault/people/edit.html.slim +1 -0
- data/app/views/dorsale/customer_vault/people/index.html.slim +2 -2
- data/app/views/dorsale/customer_vault/people/index.xlsx.ruby +49 -0
- data/app/views/dorsale/customer_vault/people/invoices.html.slim +5 -0
- data/app/views/dorsale/customer_vault/people/show.html.slim +5 -26
- data/app/views/dorsale/customer_vault/people/tasks.html.slim +4 -0
- data/app/views/dorsale/expense_gun/categories/_list.html.slim +4 -1
- data/app/views/dorsale/expense_gun/expenses/_list.html.slim +1 -1
- data/app/views/dorsale/expense_gun/expenses/show.html.slim +3 -3
- data/app/views/dorsale/flyboy/_filters.html.slim +3 -0
- data/app/views/dorsale/flyboy/folders/_form.html.slim +3 -1
- data/app/views/dorsale/flyboy/folders/_list.html.slim +2 -2
- data/app/views/dorsale/flyboy/task_comments/_list.html.slim +2 -2
- data/app/views/dorsale/flyboy/tasks/_form.html.slim +4 -1
- data/app/views/dorsale/flyboy/tasks/_list.html.slim +1 -1
- data/app/views/dorsale/flyboy/tasks/_summary_list.html.slim +6 -5
- data/app/views/dorsale/flyboy/tasks/index.html.slim +2 -4
- data/app/views/dorsale/flyboy/tasks/index.xlsx.ruby +23 -0
- data/app/views/dorsale/flyboy/tasks/summary.html.slim +0 -2
- data/config/locales/common.en.yml +2 -0
- data/config/locales/common.fr.yml +2 -0
- data/config/locales/customer_vault.en.yml +0 -6
- data/config/locales/customer_vault.fr.yml +0 -6
- data/config/locales/flyboy.en.yml +2 -0
- data/config/locales/flyboy.fr.yml +2 -0
- data/config/routes.rb +7 -2
- data/db/migrate/20161118071317_dorsale_add_missing_indexes.rb +25 -0
- data/features/billing_machine_invoices.feature +4 -2
- data/features/customer_vault_invoices.feature +10 -0
- data/features/customer_vault_tasks.feature +1 -1
- data/features/flyboy_tasks.feature +3 -15
- data/features/step_definitions/billing_machine_invoices_steps.rb +2 -6
- data/features/step_definitions/billing_machine_quotations_steps.rb +5 -5
- data/features/step_definitions/common_steps.rb +7 -1
- data/features/step_definitions/customer_vault_corporations_steps.rb +7 -7
- data/features/step_definitions/customer_vault_filters_steps.rb +3 -3
- data/features/step_definitions/customer_vault_individuals_steps.rb +1 -1
- data/features/step_definitions/customer_vault_invoices_steps.rb +7 -0
- data/features/step_definitions/customer_vault_links_steps.rb +5 -3
- data/features/step_definitions/customer_vault_people_steps.rb +1 -1
- data/features/step_definitions/customer_vault_search_steps.rb +4 -4
- data/features/step_definitions/customer_vault_tasks_steps.rb +6 -16
- data/features/step_definitions/expense_gun_expenses_steps.rb +2 -2
- data/features/step_definitions/flyboy_folders_steps.rb +5 -5
- data/features/step_definitions/flyboy_tasks_steps.rb +5 -29
- data/lib/dorsale/engine.rb +6 -1
- data/lib/dorsale/polymorphic_id.rb +1 -1
- data/lib/dorsale/version.rb +1 -1
- data/spec/controllers/dorsale/billing_machine/invoices_controller_spec.rb +3 -4
- data/spec/controllers/dorsale/comments_controller_spec.rb +3 -3
- data/spec/controllers/dorsale/expense_gun/expenses_controller_spec.rb +10 -0
- data/spec/controllers/dorsale/flyboy/tasks_controller_spec.rb +1 -13
- data/spec/factories/dorsale_comments.rb +3 -3
- data/spec/helpers/dorsale/text_helper_spec.rb +15 -0
- data/spec/{lib → libs}/active_record_comma_type_cast_spec.rb +0 -0
- data/spec/{lib → libs/dorsale}/polymorphic_id_spec.rb +0 -0
- data/spec/libs/dorsale/sortable_uuid_generator_spec.rb +29 -0
- data/spec/rails_helper.rb +2 -0
- data/spec/routing/dorsale/customer_vault/people_routing_spec.rb +15 -0
- metadata +54 -18
- data/app/pdfs/dorsale/flyboy/roadmap.rb +0 -47
- data/app/views/dorsale/billing_machine/invoices/index.csv.ruby +0 -46
- data/app/views/dorsale/comments/_loader.html.slim +0 -5
- data/app/views/dorsale/comments/index.html.slim +0 -11
- data/app/views/dorsale/customer_vault/people/_activity_tab.html.slim +0 -4
- data/app/views/dorsale/customer_vault/people/_comment.html.slim +0 -1
- data/app/views/dorsale/customer_vault/people/_links_tab.html.slim +0 -7
- data/app/views/dorsale/customer_vault/people/_tasks_tab.html.slim +0 -1
- data/app/views/dorsale/customer_vault/people/index.xls.slim +0 -24
- data/app/views/dorsale/flyboy/tasks/index.csv.ruby +0 -24
- data/app/views/dorsale/flyboy/tasks/index.pdf.ruby +0 -6
- data/app/views/dorsale/flyboy/tasks/index.xls.erb +0 -29
|
@@ -11,10 +11,8 @@
|
|
|
11
11
|
= search_form
|
|
12
12
|
|
|
13
13
|
- content_for :actions
|
|
14
|
-
- if policy(
|
|
15
|
-
= download_button url_for(format: :
|
|
16
|
-
= download_button url_for(format: :xls), action: :export_xls
|
|
17
|
-
= download_button url_for(format: :pdf), action: :export_pdf
|
|
14
|
+
- if policy(model).export?
|
|
15
|
+
= download_button url_for(format: :xlsx), download: "#{model.ts}.xlsx"
|
|
18
16
|
|
|
19
17
|
- content_for :table
|
|
20
18
|
= render "dorsale/flyboy/tasks/list", tasks: @tasks, nested: false
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
data = [
|
|
2
|
+
[
|
|
3
|
+
model.t(:taskable),
|
|
4
|
+
model.t(:taskable_type),
|
|
5
|
+
model.t(:taskable_progress),
|
|
6
|
+
model.t(:name),
|
|
7
|
+
model.t(:progress),
|
|
8
|
+
model.t(:term),
|
|
9
|
+
]
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
@tasks_without_pagination.each do |task|
|
|
13
|
+
data << [
|
|
14
|
+
task.taskable.name,
|
|
15
|
+
task.taskable.class.t,
|
|
16
|
+
percentage(task.taskable.try(:progress)),
|
|
17
|
+
task.name,
|
|
18
|
+
percentage(task.progress),
|
|
19
|
+
date(task.term),
|
|
20
|
+
]
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
Dorsale::Serializers::XLSX.new(data).render_inline
|
|
@@ -151,6 +151,7 @@ en:
|
|
|
151
151
|
addressable : "Origin"
|
|
152
152
|
attachable : "Origin"
|
|
153
153
|
email_subject : "Subject"
|
|
154
|
+
email_from : "Sender"
|
|
154
155
|
email_to : "Recipient"
|
|
155
156
|
email_attachment : "Attachment"
|
|
156
157
|
email_body : "Message"
|
|
@@ -161,6 +162,7 @@ en:
|
|
|
161
162
|
|
|
162
163
|
filters:
|
|
163
164
|
all_customers: "All customers"
|
|
165
|
+
all_owners: "All all owners"
|
|
164
166
|
date_begin: "Date begin"
|
|
165
167
|
date_end: "Date end"
|
|
166
168
|
|
|
@@ -162,6 +162,7 @@ fr:
|
|
|
162
162
|
addressable : "Origine"
|
|
163
163
|
attachable : "Origine"
|
|
164
164
|
email_subject : "Object"
|
|
165
|
+
email_from : "Expéditeur"
|
|
165
166
|
email_to : "Destinataire"
|
|
166
167
|
email_attachment : "Pièce jointe"
|
|
167
168
|
email_body : "Message"
|
|
@@ -181,6 +182,7 @@ fr:
|
|
|
181
182
|
|
|
182
183
|
filters:
|
|
183
184
|
all_customers: "Tous les clients"
|
|
185
|
+
all_owners: "Tout le monde"
|
|
184
186
|
date_begin: "Date début"
|
|
185
187
|
date_end: "Date fin"
|
|
186
188
|
|
|
@@ -7,12 +7,6 @@ en:
|
|
|
7
7
|
address_informations: "Address informations"
|
|
8
8
|
additional_informations: "Additional informations"
|
|
9
9
|
|
|
10
|
-
sections:
|
|
11
|
-
activity: "Activity"
|
|
12
|
-
links: "Links"
|
|
13
|
-
tasks: "Tasks"
|
|
14
|
-
people: "People"
|
|
15
|
-
|
|
16
10
|
messages:
|
|
17
11
|
no_people: "No people find."
|
|
18
12
|
no_activity: "No recent activity."
|
|
@@ -7,12 +7,6 @@ fr:
|
|
|
7
7
|
address_informations: "Adresse"
|
|
8
8
|
additional_informations: "Informations complémentaires"
|
|
9
9
|
|
|
10
|
-
sections:
|
|
11
|
-
activity: "Activité"
|
|
12
|
-
links: "Liens"
|
|
13
|
-
tasks: "Tâches"
|
|
14
|
-
people: "Personnes"
|
|
15
|
-
|
|
16
10
|
messages:
|
|
17
11
|
no_people: "Aucune personne trouvée."
|
|
18
12
|
no_activity: "Aucune activité récente."
|
data/config/routes.rb
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Dorsale::Engine.routes.draw do
|
|
2
2
|
# Comments
|
|
3
3
|
|
|
4
|
-
resources :comments, only: [:
|
|
4
|
+
resources :comments, only: [:create, :edit, :update, :destroy]
|
|
5
5
|
|
|
6
6
|
# Users
|
|
7
7
|
|
|
@@ -71,7 +71,12 @@ Dorsale::Engine.routes.draw do
|
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
resources :people do
|
|
74
|
-
resources :links
|
|
74
|
+
resources :links
|
|
75
|
+
|
|
76
|
+
member do
|
|
77
|
+
get :tasks
|
|
78
|
+
get :invoices
|
|
79
|
+
end
|
|
75
80
|
end
|
|
76
81
|
|
|
77
82
|
resources :corporations, path: "people", except: [:new] do
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
class DorsaleAddMissingIndexes < ActiveRecord::Migration[5.0]
|
|
2
|
+
def change
|
|
3
|
+
add_index :dorsale_customer_vault_people, :old_id
|
|
4
|
+
add_index :dorsale_expense_gun_expenses, :user_id
|
|
5
|
+
add_index :dorsale_addresses, :addressable_id
|
|
6
|
+
add_index :dorsale_addresses, :addressable_type
|
|
7
|
+
add_index :dorsale_alexandrie_attachments, :attachable_id
|
|
8
|
+
add_index :dorsale_alexandrie_attachments, :attachable_type
|
|
9
|
+
add_index :dorsale_alexandrie_attachments, :sender_id
|
|
10
|
+
add_index :dorsale_alexandrie_attachments, :sender_type
|
|
11
|
+
add_index :dorsale_billing_machine_invoices, :tracking_id
|
|
12
|
+
add_index :dorsale_billing_machine_quotations, :tracking_id
|
|
13
|
+
add_index :dorsale_comments, :author_id
|
|
14
|
+
add_index :dorsale_comments, :user_type
|
|
15
|
+
add_index :dorsale_comments, :commentable_id
|
|
16
|
+
add_index :dorsale_comments, :commentable_type
|
|
17
|
+
add_index :dorsale_comments, :author_type
|
|
18
|
+
add_index :dorsale_customer_vault_links, :alice_id
|
|
19
|
+
add_index :dorsale_customer_vault_links, :bob_id
|
|
20
|
+
add_index :dorsale_flyboy_task_comments, :author_type
|
|
21
|
+
add_index :dorsale_flyboy_task_comments, :author_id
|
|
22
|
+
add_index :dorsale_flyboy_tasks, :owner_type
|
|
23
|
+
add_index :dorsale_flyboy_tasks, :owner_id
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -33,6 +33,7 @@ Feature: Invoice Management
|
|
|
33
33
|
Then a new invoice is displayed with the informations
|
|
34
34
|
|
|
35
35
|
Scenario: Send invoice by email
|
|
36
|
+
Given an existing customer
|
|
36
37
|
And an existing invoice
|
|
37
38
|
When the user goes to the invoice details
|
|
38
39
|
And he send invoice to customer by email
|
|
@@ -141,10 +142,11 @@ Feature: Invoice Management
|
|
|
141
142
|
And the VAT due is "196,00"
|
|
142
143
|
And the total including taxes is "1 196,00"
|
|
143
144
|
|
|
144
|
-
Scenario: Export invoices in
|
|
145
|
+
Scenario: Export invoices in XLSX
|
|
145
146
|
And an existing invoice
|
|
146
147
|
When the user goes to the invoices page
|
|
147
|
-
|
|
148
|
+
When I export to XLSX
|
|
149
|
+
Then I download XLSX file
|
|
148
150
|
|
|
149
151
|
Scenario: Existing unpaid invoice set to paid
|
|
150
152
|
And an existing invoice
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
@javascript
|
|
2
|
+
Feature: People invoices
|
|
3
|
+
Background:
|
|
4
|
+
Given an authenticated user
|
|
5
|
+
|
|
6
|
+
Scenario: List person invoices
|
|
7
|
+
Given an existing corporation
|
|
8
|
+
And this corporation has an invoice
|
|
9
|
+
When he go on he corporation invoices page
|
|
10
|
+
Then he should see 1 invoices
|
|
@@ -27,7 +27,7 @@ Feature: Create tasks on people
|
|
|
27
27
|
When I go on the general tasks page
|
|
28
28
|
Then the task appear
|
|
29
29
|
|
|
30
|
-
Scenario:
|
|
30
|
+
Scenario: Filter tasks on an individual
|
|
31
31
|
Given an existing individual
|
|
32
32
|
When I go on this individual
|
|
33
33
|
And I go on the tasks section
|
|
@@ -44,23 +44,11 @@ Feature: Manage tasks
|
|
|
44
44
|
Then I am on the tasks section
|
|
45
45
|
And the task is snoozed
|
|
46
46
|
|
|
47
|
-
Scenario: Export tasks to
|
|
47
|
+
Scenario: Export tasks to XLSX
|
|
48
48
|
Given 3 existing tasks
|
|
49
49
|
When I go to the tasks section
|
|
50
|
-
And I export
|
|
51
|
-
Then I download
|
|
52
|
-
|
|
53
|
-
Scenario: Export tasks to CSV
|
|
54
|
-
Given 3 existing tasks
|
|
55
|
-
When I go to the tasks section
|
|
56
|
-
And I export tasks to CSV
|
|
57
|
-
Then I download CSV file
|
|
58
|
-
|
|
59
|
-
Scenario: Export tasks to XLS
|
|
60
|
-
Given 3 existing tasks
|
|
61
|
-
When I go to the tasks section
|
|
62
|
-
And I export tasks to XLS
|
|
63
|
-
Then I download XLS file
|
|
50
|
+
And I export to XLSX
|
|
51
|
+
Then I download XLSX file
|
|
64
52
|
|
|
65
53
|
Scenario: Filter tasks
|
|
66
54
|
Given an existing done task
|
|
@@ -140,10 +140,6 @@ When(/^he saves the invoice$/) do
|
|
|
140
140
|
find("[type=submit]").click
|
|
141
141
|
end
|
|
142
142
|
|
|
143
|
-
When(/^he finds and clicks on the download CSV export file$/) do
|
|
144
|
-
find("[href$=csv]").click
|
|
145
|
-
end
|
|
146
|
-
|
|
147
143
|
When(/^he set the invoice as paid$/) do
|
|
148
144
|
find("[href$=pay]").click
|
|
149
145
|
end
|
|
@@ -159,7 +155,7 @@ When(/^he changes the advance to "(.*?)"€$/) do |value|
|
|
|
159
155
|
end
|
|
160
156
|
|
|
161
157
|
When(/^he goes to the newly created invoice page$/) do
|
|
162
|
-
@invoice = ::Dorsale::BillingMachine::Invoice.
|
|
158
|
+
@invoice = ::Dorsale::BillingMachine::Invoice.last_created
|
|
163
159
|
visit dorsale.edit_billing_machine_invoice_path(@invoice)
|
|
164
160
|
end
|
|
165
161
|
|
|
@@ -187,7 +183,7 @@ When(/^the user download the pdf$/) do
|
|
|
187
183
|
find(".link_download").click
|
|
188
184
|
end
|
|
189
185
|
|
|
190
|
-
Then(/^he should see (\d+) invoices
|
|
186
|
+
Then(/^he should see (\d+) invoices?$/) do |count|
|
|
191
187
|
expect(page).to have_selector '.invoice', count: count
|
|
192
188
|
end
|
|
193
189
|
|
|
@@ -170,7 +170,7 @@ Then(/^the quotation's label has changed$/) do
|
|
|
170
170
|
end
|
|
171
171
|
|
|
172
172
|
Then(/^I am on the created quotation$/) do
|
|
173
|
-
@quotation = Dorsale::BillingMachine::Quotation.
|
|
173
|
+
@quotation = Dorsale::BillingMachine::Quotation.last_created
|
|
174
174
|
expect(current_path).to eq dorsale.billing_machine_quotation_path(@quotation)
|
|
175
175
|
end
|
|
176
176
|
|
|
@@ -184,7 +184,7 @@ Then(/^the quotation default date is set to today's date\.$/) do
|
|
|
184
184
|
page.should have_field('quotation_date', with: I18n.l(Time.zone.now.to_date))
|
|
185
185
|
end
|
|
186
186
|
|
|
187
|
-
Then(/^he should see (\d+) quotations
|
|
187
|
+
Then(/^he should see (\d+) quotations?$/) do |arg1|
|
|
188
188
|
page.should have_selector '.quotation', count: arg1
|
|
189
189
|
end
|
|
190
190
|
|
|
@@ -201,7 +201,7 @@ Then(/^he will see links to the documents$/) do
|
|
|
201
201
|
end
|
|
202
202
|
|
|
203
203
|
Then(/^the quotation informations are visible on the quotation details$/) do
|
|
204
|
-
@quotation = ::Dorsale::BillingMachine::Quotation.
|
|
204
|
+
@quotation = ::Dorsale::BillingMachine::Quotation.last_created
|
|
205
205
|
visit dorsale.billing_machine_quotation_path(@quotation)
|
|
206
206
|
expect(page).to have_content @payment_term.label
|
|
207
207
|
expect(page).to have_content "I-am-a-comment"
|
|
@@ -217,13 +217,13 @@ end
|
|
|
217
217
|
|
|
218
218
|
Then(/^he is on the created quotation edit page$/) do
|
|
219
219
|
expect(Dorsale::BillingMachine::Quotation.count).to eq(@quotations_count+1)
|
|
220
|
-
@quotation = Dorsale::BillingMachine::Quotation.
|
|
220
|
+
@quotation = Dorsale::BillingMachine::Quotation.last_created
|
|
221
221
|
expect(current_path).to eq dorsale.edit_billing_machine_quotation_path(@quotation)
|
|
222
222
|
end
|
|
223
223
|
|
|
224
224
|
Then(/^an invoice is created from quotation$/) do
|
|
225
225
|
expect(Dorsale::BillingMachine::Invoice.count).to eq(@invoices_count+1)
|
|
226
|
-
@invoice = Dorsale::BillingMachine::Invoice.
|
|
226
|
+
@invoice = Dorsale::BillingMachine::Invoice.last_created
|
|
227
227
|
expect(@invoice.label).to eq @quotation.label
|
|
228
228
|
end
|
|
229
229
|
|
|
@@ -24,7 +24,6 @@ Given(/^an authenticated user$/) do
|
|
|
24
24
|
sign_in @user
|
|
25
25
|
end
|
|
26
26
|
|
|
27
|
-
|
|
28
27
|
Given(/^an active user$/) do
|
|
29
28
|
@user = create(:user)
|
|
30
29
|
end
|
|
@@ -53,3 +52,10 @@ end
|
|
|
53
52
|
Then(/^he see the "([^"]*)" filter$/) do |id|
|
|
54
53
|
expect(page).to have_selector("#filters_#{id}")
|
|
55
54
|
end
|
|
55
|
+
|
|
56
|
+
When(/^(?:I|he|she) export to XLSX$/) do
|
|
57
|
+
find("a[href$=xlsx]").click
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
When(/^(?:I|he|she) download XLSX file$/) do
|
|
61
|
+
end
|
|
@@ -53,7 +53,7 @@ end
|
|
|
53
53
|
|
|
54
54
|
Then(/^the corporation is created$/) do
|
|
55
55
|
expect(Dorsale::CustomerVault::Corporation.count).to eq(@corporations_count + 1)
|
|
56
|
-
@corporation = Dorsale::CustomerVault::Corporation.
|
|
56
|
+
@corporation = Dorsale::CustomerVault::Corporation.last_created
|
|
57
57
|
|
|
58
58
|
expect(@corporation.corporation_name).to eq "AGILiDEE"
|
|
59
59
|
end
|
|
@@ -97,7 +97,7 @@ end
|
|
|
97
97
|
|
|
98
98
|
Then(/^I see do not see my comment$/) do
|
|
99
99
|
expect(Dorsale::Comment.count).to eq(@comments_count - 1)
|
|
100
|
-
expect(page).
|
|
100
|
+
expect(page).to have_no_content @comment.text
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
Given(/^an existing individual with recent comments$/) do
|
|
@@ -155,8 +155,8 @@ end
|
|
|
155
155
|
|
|
156
156
|
Then(/^tags are added$/) do
|
|
157
157
|
expect(all(".tag").count).to eq 2
|
|
158
|
-
expect(page
|
|
159
|
-
expect(page
|
|
158
|
+
expect(page).to have_content "mytag1"
|
|
159
|
+
expect(page).to have_content "mytag2"
|
|
160
160
|
end
|
|
161
161
|
|
|
162
162
|
Given(/^an existing corporation with tags$/) do
|
|
@@ -169,8 +169,8 @@ end
|
|
|
169
169
|
|
|
170
170
|
Then(/^tags are removed$/) do
|
|
171
171
|
expect(all(".tag").count).to eq 1
|
|
172
|
-
expect(page
|
|
173
|
-
expect(page
|
|
172
|
+
expect(page).to have_no_content "mytag1"
|
|
173
|
+
expect(page).to have_content "mytag2"
|
|
174
174
|
end
|
|
175
175
|
|
|
176
176
|
Given(/^an open task to this corporation$/) do
|
|
@@ -187,7 +187,7 @@ end
|
|
|
187
187
|
|
|
188
188
|
Then(/^I see only the open task in the context$/) do
|
|
189
189
|
expect(find("#context")).to have_content "I-am-open"
|
|
190
|
-
expect(find("#context")).
|
|
190
|
+
expect(find("#context")).to have_no_content "I-am-closed"
|
|
191
191
|
end
|
|
192
192
|
|
|
193
193
|
Then(/^I see the link in the context$/) do
|
|
@@ -22,7 +22,7 @@ end
|
|
|
22
22
|
Then(/^only first and second corporation appear$/) do
|
|
23
23
|
expect(page).to have_content @corporation1.name
|
|
24
24
|
expect(page).to have_content @corporation2.name
|
|
25
|
-
expect(page).
|
|
25
|
+
expect(page).to have_no_content @corporation3.name
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
When(/^I add the second tag world$/) do
|
|
@@ -32,6 +32,6 @@ end
|
|
|
32
32
|
|
|
33
33
|
Then(/^only the first corporation appear$/) do
|
|
34
34
|
expect(page).to have_content @corporation1.name
|
|
35
|
-
expect(page).
|
|
36
|
-
expect(page).
|
|
35
|
+
expect(page).to have_no_content @corporation2.name
|
|
36
|
+
expect(page).to have_no_content @corporation3.name
|
|
37
37
|
end
|
|
@@ -30,7 +30,7 @@ end
|
|
|
30
30
|
Then(/^the individual is created$/) do
|
|
31
31
|
expect(Dorsale::CustomerVault::Individual.count).to eq(@individuals_count + 1)
|
|
32
32
|
|
|
33
|
-
@individual = Dorsale::CustomerVault::Individual.
|
|
33
|
+
@individual = Dorsale::CustomerVault::Individual.last_created
|
|
34
34
|
|
|
35
35
|
expect(@individual.first_name).to eq "Benoit"
|
|
36
36
|
expect(@individual.last_name).to eq "Gantaume"
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Given(/^this (?:corporation|individual|person) has an invoice$/) do
|
|
2
|
+
@invoice = create(:billing_machine_invoice, customer: @person)
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
When(/^he go on he (?:corporation|individual|person) invoices page$/) do
|
|
6
|
+
visit dorsale.invoices_customer_vault_person_path(@person)
|
|
7
|
+
end
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
|
|
2
2
|
Given(/^an existing corporation$/) do
|
|
3
|
-
@corporation= create(:customer_vault_corporation)
|
|
3
|
+
@corporation = create(:customer_vault_corporation)
|
|
4
|
+
@person = @corporation
|
|
4
5
|
end
|
|
5
6
|
|
|
6
7
|
Given(/^an existing indidual$/) do
|
|
7
8
|
@individual = create(:customer_vault_individual)
|
|
9
|
+
@person = @individual
|
|
8
10
|
end
|
|
9
11
|
|
|
10
12
|
Given(/^an existing link$/) do
|
|
@@ -19,12 +21,12 @@ When(/^I navigate to the link section of the indidual details$/) do
|
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
When(/^I add a new link to the corporation$/) do
|
|
22
|
-
find("
|
|
24
|
+
find("#context-main [href$='links/new']").click
|
|
23
25
|
expect(current_path).to eq dorsale.new_customer_vault_corporation_link_path(@corporation)
|
|
24
26
|
end
|
|
25
27
|
|
|
26
28
|
When(/^I add a new link to the individual$/) do
|
|
27
|
-
find("
|
|
29
|
+
find("#context-main [href$='links/new']").click
|
|
28
30
|
expect(current_path).to eq dorsale.new_customer_vault_individual_link_path(@individual)
|
|
29
31
|
end
|
|
30
32
|
|