ecom_core 1.2.34 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/ecom/core/{project_crews_controller.rb → site_crews_controller.rb} +5 -4
  3. data/app/controllers/ecom/core/unit_costs_controller.rb +29 -0
  4. data/app/models/ecom/core/attendance_sheet.rb +19 -19
  5. data/app/models/ecom/core/available_unit_of_measurement.rb +10 -0
  6. data/app/models/ecom/core/crew.rb +4 -2
  7. data/app/models/ecom/core/crew_contract.rb +41 -1
  8. data/app/models/ecom/core/crew_contract_transaction.rb +29 -0
  9. data/app/models/ecom/core/crew_id_card.rb +36 -0
  10. data/app/models/ecom/core/inspection_checklist.rb +6 -0
  11. data/app/models/ecom/core/lookahead_plan.rb +41 -0
  12. data/app/models/ecom/core/lookahead_plan_history.rb +16 -0
  13. data/app/models/ecom/core/lookahead_plan_review_time.rb +29 -0
  14. data/app/models/ecom/core/lookahead_plan_task_progress.rb +22 -0
  15. data/app/models/ecom/core/material.rb +6 -0
  16. data/app/models/ecom/core/material_identity.rb +21 -0
  17. data/app/models/ecom/core/material_item.rb +18 -0
  18. data/app/models/ecom/core/material_sub_type.rb +20 -0
  19. data/app/models/ecom/core/measurement_unit.rb +4 -14
  20. data/app/models/ecom/core/overtime_sheet.rb +13 -15
  21. data/app/models/ecom/core/payroll.rb +3 -3
  22. data/app/models/ecom/core/project.rb +0 -3
  23. data/app/models/ecom/core/project_template.rb +13 -0
  24. data/app/models/ecom/core/project_work_item_template.rb +9 -0
  25. data/app/models/ecom/core/resource_requisition.rb +21 -0
  26. data/app/models/ecom/core/resource_requisition_item.rb +45 -0
  27. data/app/models/ecom/core/{project_crew.rb → site.rb} +8 -4
  28. data/app/models/ecom/core/site_crew.rb +27 -0
  29. data/app/models/ecom/core/stakeholder.rb +1 -1
  30. data/app/models/ecom/core/task.rb +22 -9
  31. data/app/models/ecom/core/task_attachment.rb +11 -0
  32. data/app/models/ecom/core/task_inspection_checklist.rb +18 -0
  33. data/app/models/ecom/core/task_template.rb +20 -90
  34. data/app/models/ecom/core/task_template_inspection_checklist.rb +8 -0
  35. data/app/models/ecom/core/unit_cost.rb +27 -0
  36. data/app/models/ecom/core/unit_of_measure.rb +8 -0
  37. data/app/models/ecom/core/work_item_resource_requirement_template.rb +18 -0
  38. data/app/models/ecom/core/work_package.rb +3 -0
  39. data/app/models/ecom/core/work_product.rb +2 -18
  40. data/app/models/ecom/core/work_product_template.rb +2 -2
  41. data/app/serializers/ecom/core/unit_cost_serializer.rb +21 -0
  42. data/app/services/ecom/core/crew_contract_transaction_service.rb +89 -0
  43. data/app/services/ecom/core/menu_service.rb +2 -2
  44. data/app/services/ecom/core/site_crew_service.rb +44 -0
  45. data/app/uploaders/ecom/core/photo_uploader.rb +5 -1
  46. data/app/uploaders/ecom/core/task_attachment_uploader.rb +11 -0
  47. data/config/initializers/carrierwave.rb +8 -0
  48. data/config/routes.rb +4 -2
  49. data/db/migrate/20191118052213_create_ecom_core_unit_of_measures.rb +11 -0
  50. data/db/migrate/20191119012030_create_ecom_core_task_templates.rb +10 -8
  51. data/db/migrate/20191119013236_create_ecom_core_work_product_templates.rb +0 -15
  52. data/db/migrate/20191119021405_create_ecom_core_project_templates.rb +15 -0
  53. data/db/migrate/20191119034319_create_ecom_core_project_work_item_templates.rb +20 -0
  54. data/db/migrate/20191201145849_create_ecom_core_sites.rb +16 -0
  55. data/db/migrate/20191202222210_create_ecom_core_work_packages.rb +12 -0
  56. data/db/migrate/20191202235434_create_ecom_core_work_products.rb +2 -17
  57. data/db/migrate/20191207103730_create_ecom_core_lookahead_plans.rb +19 -0
  58. data/db/migrate/20191207103735_create_ecom_core_tasks.rb +15 -10
  59. data/db/migrate/20191225140433_create_ecom_core_attendance_sheets.rb +4 -4
  60. data/db/migrate/20200126081005_create_ecom_core_payrolls.rb +3 -3
  61. data/db/migrate/20200410090701_create_ecom_core_overtime_sheets.rb +4 -4
  62. data/db/migrate/20200616044231_create_ecom_core_material_sub_types.rb +14 -0
  63. data/db/migrate/20200616051902_create_ecom_core_material_identities.rb +17 -0
  64. data/db/migrate/20200618105233_create_ecom_core_material_items.rb +16 -0
  65. data/db/migrate/20200813165555_create_ecom_core_available_unit_of_measurements.rb +16 -0
  66. data/db/migrate/20200901085227_create_ecom_core_crew_contracts.rb +7 -1
  67. data/db/migrate/20201013072924_create_ecom_core_crew_contract_transactions.rb +16 -0
  68. data/db/migrate/20201013090609_create_ecom_core_site_crews.rb.rb +22 -0
  69. data/db/migrate/20201013094100_create_ecom_core_crew_id_cards.rb +16 -0
  70. data/db/migrate/20201113050953_create_ecom_core_task_inspection_checklists.rb +22 -0
  71. data/db/migrate/20201113094302_create_ecom_core_task_template_inspection_checklists.rb +17 -0
  72. data/db/migrate/20201121064916_create_ecom_core_unit_costs.rb +30 -0
  73. data/db/migrate/20201122123227_create_ecom_core_lookahead_plan_backlogs.rb +18 -0
  74. data/db/migrate/20201122170645_create_ecom_core_lookahead_plan_histories.rb +21 -0
  75. data/db/migrate/20201122170724_create_ecom_core_lookahead_plan_task_progresses.rb +21 -0
  76. data/db/migrate/20201123134917_create_ecom_core_task_attachments.rb +15 -0
  77. data/db/migrate/20201124171642_create_ecom_core_lookahead_plan_review_times.rb +17 -0
  78. data/db/migrate/20201125191158_create_ecom_core_work_item_resource_requirement_templates.rb +31 -0
  79. data/db/migrate/20201126191334_create_ecom_core_resource_requisitions.rb +23 -0
  80. data/db/migrate/20201126191349_create_ecom_core_resource_requisition_items.rb +33 -0
  81. data/lib/ecom/core/version.rb +1 -1
  82. data/spec/factories/ecom/core/attendance_sheets.rb +1 -1
  83. data/spec/factories/ecom/core/available_unit_of_measurements.rb +6 -0
  84. data/spec/factories/ecom/core/crew_contract_transactions.rb +8 -0
  85. data/spec/factories/ecom/core/crew_contracts.rb +12 -0
  86. data/spec/factories/ecom/core/crew_id_cards.rb +8 -0
  87. data/spec/factories/{dimension_elements.rb → ecom/core/dimension_elements.rb} +0 -0
  88. data/spec/factories/ecom/core/inspection_checklists.rb +5 -0
  89. data/spec/factories/ecom/core/lookahead_plan_histories.rb +9 -0
  90. data/spec/factories/ecom/core/lookahead_plan_review_times.rb +8 -0
  91. data/spec/factories/ecom/core/lookahead_plan_task_progresses.rb +9 -0
  92. data/spec/factories/ecom/core/lookahead_plans.rb +10 -0
  93. data/spec/factories/ecom/core/material_identities.rb +6 -0
  94. data/spec/factories/ecom/core/material_items.rb +6 -0
  95. data/spec/factories/ecom/core/material_sub_types.rb +6 -0
  96. data/spec/factories/ecom/core/materials.rb +5 -0
  97. data/spec/factories/{measurement_units.rb → ecom/core/measurement_units.rb} +6 -0
  98. data/spec/factories/ecom/core/overtime_sheets.rb +1 -1
  99. data/spec/factories/ecom/core/payrolls.rb +1 -1
  100. data/spec/factories/ecom/core/project_templates.rb +8 -0
  101. data/spec/factories/ecom/core/project_work_item_templates.rb +7 -0
  102. data/spec/factories/ecom/core/resource_requisition_items.rb +12 -0
  103. data/spec/factories/ecom/core/resource_requisitions.rb +9 -0
  104. data/spec/factories/ecom/core/site_crews.rb +10 -0
  105. data/spec/factories/ecom/core/sites.rb +8 -0
  106. data/spec/factories/ecom/core/task_attachments.rb +8 -0
  107. data/spec/factories/ecom/core/task_inspection_checklists.rb +11 -0
  108. data/spec/factories/ecom/core/task_template_inspection_checklists.rb +7 -0
  109. data/spec/factories/ecom/core/task_templates.rb +11 -6
  110. data/spec/factories/ecom/core/tasks.rb +9 -3
  111. data/spec/factories/ecom/core/unit_costs.rb +13 -0
  112. data/spec/factories/ecom/core/unit_of_measures.rb +7 -0
  113. data/spec/factories/ecom/core/work_item_resource_requirement_templates.rb +10 -0
  114. data/spec/factories/ecom/core/work_packages.rb +6 -0
  115. data/spec/factories/ecom/core/work_product_templates.rb +0 -1
  116. data/spec/factories/ecom/core/work_products.rb +1 -7
  117. metadata +97 -23
  118. data/app/controllers/concerns/ecom/core/filterable.rb +0 -14
  119. data/app/models/ecom/core/plan.rb +0 -18
  120. data/app/models/ecom/core/takeoff_calculator.rb +0 -115
  121. data/app/models/ecom/core/task_step.rb +0 -85
  122. data/app/models/ecom/core/task_step_dependency.rb +0 -10
  123. data/app/services/ecom/core/project_crew_service.rb +0 -39
  124. data/db/migrate/20191119012027_create_ecom_core_takeoff_calculators.rb +0 -11
  125. data/db/migrate/20191207103730_create_ecom_core_plans.rb +0 -12
  126. data/db/migrate/20191225121850_create_ecom_core_project_crews.rb +0 -19
  127. data/db/migrate/20200820123719_create_ecom_core_task_steps.rb +0 -17
  128. data/db/migrate/20200821130934_create_ecom_core_task_step_dependencies.rb +0 -16
  129. data/spec/factories/ecom/core/plans.rb +0 -8
  130. data/spec/factories/ecom/core/project_crews.rb +0 -9
  131. data/spec/factories/ecom/core/takeoff_calculators.rb +0 -18
  132. data/spec/factories/ecom/core/task_step_dependencies.rb +0 -6
  133. data/spec/factories/ecom/core/task_steps.rb +0 -8
@@ -0,0 +1,21 @@
1
+ class CreateEcomCoreLookaheadPlanTaskProgresses < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_lookahead_plan_task_progresses do |t|
4
+
5
+ t.references :lookahead_plan,
6
+ null: false,
7
+ index: { name: 'lptp_on_lp_indx' },
8
+ foreign_key: { to_table: :ecom_core_lookahead_plans }
9
+
10
+ t.references :task,
11
+ null: false,
12
+ index: { name: 'lptp_on_tas_indx' },
13
+ foreign_key: { to_table: :ecom_core_tasks }
14
+ t.date :started_on, null: false
15
+ t.date :ended_on, null: false
16
+ t.integer :lookahead_plan_revision_number, null: false
17
+
18
+ t.timestamps
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,15 @@
1
+ class CreateEcomCoreTaskAttachments < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_task_attachments do |t|
4
+ t.string :title, null: false
5
+ t.string :description
6
+ t.string :file
7
+ t.references :task,
8
+ null: false,
9
+ index: { name: 'ta_on_task_indx' },
10
+ foreign_key: { to_table: :ecom_core_tasks }
11
+
12
+ t.timestamps
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ class CreateEcomCoreLookaheadPlanReviewTimes < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_lookahead_plan_review_times do |t|
4
+
5
+ t.references :lookahead_plan,
6
+ null: false,
7
+ index: { name: 'lprt_on_lp_indx' },
8
+ foreign_key: { to_table: :ecom_core_lookahead_plans }
9
+
10
+ t.datetime :review_time, null: false
11
+ t.string :status
12
+ t.integer :lookahead_plan_revision_number
13
+
14
+ t.timestamps
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,31 @@
1
+ class CreateEcomCoreWorkItemResourceRequirementTemplates < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_work_item_resource_requirement_templates do |t|
4
+ t.references :project_work_item_template,
5
+ null: true,
6
+ index: { name: 'wirrl_on_pwit_indx' },
7
+ foreign_key: { to_table: :ecom_core_project_work_item_templates }
8
+
9
+ t.references :resource_type,
10
+ null: true,
11
+ index: { name: 'wirrl_on_rt_indx' },
12
+ foreign_key: { to_table: :ecom_core_resource_types }
13
+
14
+ t.float :work_item_quantity, null: false
15
+
16
+ t.references :work_item_quantity_measurement_unit,
17
+ null: true,
18
+ index: { name: 'wirrl_on_wiqmu_indx' },
19
+ foreign_key: { to_table: :ecom_core_measurement_units }
20
+
21
+ t.float :resource_quantity, null: false
22
+
23
+ t.references :resource_quantity_measurement_unit,
24
+ null: true,
25
+ index: { name: 'wirrl_on_rqmu_indx' },
26
+ foreign_key: { to_table: :ecom_core_measurement_units }
27
+
28
+ t.timestamps
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ class CreateEcomCoreResourceRequisitions < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_resource_requisitions do |t|
4
+ t.references :lookahead_plan,
5
+ null: false,
6
+ index: { name: 'rr_on_lp_indx' },
7
+ foreign_key: { to_table: :ecom_core_lookahead_plans }
8
+
9
+ t.references :reviewed_by,
10
+ null: true,
11
+ index: { name: 'rr_on_rb_indx' },
12
+ foreign_key: { to_table: :ecom_core_users }
13
+ t.references :approved_by,
14
+ null: true,
15
+ index: { name: 'rr_on_ab_indx' },
16
+ foreign_key: { to_table: :ecom_core_users }
17
+ t.string :delivery_point, null:false
18
+ t.string :status, null: false, default: 'Draft'
19
+
20
+ t.timestamps
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,33 @@
1
+ class CreateEcomCoreResourceRequisitionItems < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :ecom_core_resource_requisition_items do |t|
4
+ t.references :resource_requisition,
5
+ null: false,
6
+ index: { name: 'rri_on_rr_indx' },
7
+ foreign_key: { to_table: :ecom_core_resource_requisitions }
8
+
9
+ t.references :resource_type,
10
+ null: false,
11
+ index: { name: 'rri_on_rt_indx' },
12
+ foreign_key: { to_table: :ecom_core_resource_types }
13
+
14
+ t.float :requested_quantity, null: false
15
+
16
+ t.references :requested_quantity_measurement_unit,
17
+ null: false,
18
+ index: { name: 'rri_on_rqmu_indx' },
19
+ foreign_key: { to_table: :ecom_core_measurement_units }
20
+
21
+ t.float :awaiting_quantity, null: false
22
+
23
+ t.references :awaiting_quantity_measurement_unit,
24
+ null: false,
25
+ index: { name: 'rri_on_aqmu_indx' },
26
+ foreign_key: { to_table: :ecom_core_measurement_units }
27
+ t.string :status, null: false, default: 'Pending'
28
+ t.datetime :due_date, null: false
29
+
30
+ t.timestamps
31
+ end
32
+ end
33
+ end
@@ -1,5 +1,5 @@
1
1
  module Ecom
2
2
  module Core
3
- VERSION = '1.2.34'.freeze
3
+ VERSION = '1.3.2'.freeze
4
4
  end
5
5
  end
@@ -6,6 +6,6 @@ FactoryBot.define do
6
6
  approved_at { nil }
7
7
  remark { FFaker::Name.name }
8
8
  status { Ecom::Core::StatusConstants::OPEN }
9
- association :project
9
+ association :site
10
10
  end
11
11
  end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :available_unit_of_measurement, class: Ecom::Core::AvailableUnitOfMeasurement do
3
+ association :material_type
4
+ association :measurement_unit
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :crew_contract_transaction, class: Ecom::Core::CrewContractTransaction do
3
+ association :crew_contract
4
+ status { Ecom::Core::CrewContractTransaction::STATUSES.sample }
5
+ transaction_type { Ecom::Core::CrewContractTransaction::TRANSACTION_TYPES.sample }
6
+ effective_date { Date.today }
7
+ end
8
+ end
@@ -9,5 +9,17 @@ FactoryBot.define do
9
9
  contract_signed { false }
10
10
  date_contract_signed { Date.today }
11
11
  association :crew
12
+ association :crew_type
13
+ wage { 75.0 }
14
+ wage_in_words { 'Seventy five birr only' }
15
+ status { :draft }
16
+
17
+ factory :active_crew_contract do
18
+ status { :in_effect }
19
+ end
20
+
21
+ factory :void_crew_contract do
22
+ status { :void }
23
+ end
12
24
  end
13
25
  end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :crew_id_card, class: Ecom::Core::CrewIdCard do
3
+ association :crew
4
+ issued_on { Time.now }
5
+ valid_until { Time.now + 1.month }
6
+ status { Ecom::Core::CrewIdCard::STATUSES.sample }
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :inspection_checklist, class: Ecom::Core::InspectionChecklist, parent: :lookup do
3
+ type { 'Ecom::Core::InspectionChecklist' }
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :lookahead_plan_history, class: Ecom::Core::LookaheadPlanHistory do
3
+ association :lookahead_plan
4
+ association :task
5
+ start_date { Time.now }
6
+ end_date { Time.now + 2.day }
7
+ lookahead_plan_revision_number { 1 }
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :lookahead_plan_review_time, class: Ecom::Core::LookaheadPlanReviewTime do
3
+ association :lookahead_plan
4
+ review_time { Time.now + 10.day }
5
+ status { :awaiting }
6
+ lookahead_plan_revision_number { 0 }
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :lookahead_plan_task_progress, class: Ecom::Core::LookaheadPlanTaskProgress do
3
+ association :lookahead_plan
4
+ association :task
5
+ started_on { Time.now }
6
+ ended_on { Time.now + 2.day }
7
+ lookahead_plan_revision_number { 1 }
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :lookahead_plan, class: Ecom::Core::LookaheadPlan do
3
+ name { FFaker::Name.name }
4
+ start_date { Time.now }
5
+ end_date { (Time.now + 1.day).to_s }
6
+ status { :new }
7
+ revision_number { 1 }
8
+ association :prepared_by, factory: :user
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :material_identity, class: Ecom::Core::MaterialIdentity do
3
+ association :material_type
4
+ material_sub_type { association :material_sub_type, material_type_id: material_type.id }
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :material_item, class: Ecom::Core::MaterialItem do
3
+ association :material_identity
4
+ serial_number { "SN_#{(Time.now.to_f * 1000).to_i}" }
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :material_sub_type, class: Ecom::Core::MaterialSubType do
3
+ name { FFaker::Name.name }
4
+ association :material_type
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :material, class: Ecom::Core::Material, parent: :lookup do
3
+ type { 'Ecom::Core::Material' }
4
+ end
5
+ end
@@ -6,5 +6,11 @@ FactoryBot.define do
6
6
  is_si_unit { true }
7
7
  conversion_factor { 1 }
8
8
  system_of_measurement { Ecom::Core::MeasurementUnit::METRIC }
9
+
10
+ factory :non_si_measurement_unit do
11
+ name { 'kilometer' }
12
+ is_si_unit { false }
13
+ conversion_factor { 0.001 }
14
+ end
9
15
  end
10
16
  end
@@ -5,6 +5,6 @@ FactoryBot.define do
5
5
  submitted_at { nil }
6
6
  approved_at { nil }
7
7
  status { Ecom::Core::StatusConstants::OPEN }
8
- association :project
8
+ association :site
9
9
  end
10
10
  end
@@ -3,6 +3,6 @@ FactoryBot.define do
3
3
  month { 1 }
4
4
  year { 2000 }
5
5
  approved { false }
6
- association :project
6
+ association :site
7
7
  end
8
8
  end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :project_template, class: Ecom::Core::ProjectTemplate do
3
+ code { FFaker::Name.name }
4
+ name { FFaker::Name.name }
5
+ description { FFaker::Name.name }
6
+ association :task_template_type
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :project_work_item_template, class: Ecom::Core::ProjectWorkItemTemplate do
3
+ association :task_template
4
+ association :work_product_template
5
+ association :project_template
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ FactoryBot.define do
2
+ factory :resource_requisition_item, class: Ecom::Core::ResourceRequisitionItem do
3
+ association :resource_requisition
4
+ association :resource_type
5
+ requested_quantity { 2000 }
6
+ association :requested_quantity_measurement_unit, factory: :measurement_unit
7
+ association :awaiting_quantity_measurement_unit, factory: :non_si_measurement_unit
8
+ awaiting_quantity { 1 }
9
+ due_date { Time.now + 1.week }
10
+ status { 'Pending' }
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :resource_requisition, class: Ecom::Core::ResourceRequisition do
3
+ association :lookahead_plan
4
+ association :reviewed_by, factory: :user
5
+ association :approved_by, factory: :user
6
+ status { 'Draft' }
7
+ delivery_point { FFaker::Name.name }
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :site_crew, class: Ecom::Core::SiteCrew do
3
+ association :crew
4
+ association :site
5
+ site_crew_type { Ecom::Core::SiteCrew::SITE_CREW_TYPES.sample }
6
+ start_date { Time.now }
7
+ end_date { Time.now + 1.month }
8
+ status { 'Active' }
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :site, class: Ecom::Core::Site do
3
+ name { FFaker::Name.name }
4
+ address { FFaker::Address.street_address }
5
+ association :project
6
+ status { Ecom::Core::Site::STATUSES.sample }
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :task_attachment, class: Ecom::Core::TaskAttachment do
3
+ title { FFaker::Name.name }
4
+ description { FFaker::Name.name }
5
+ file { FFaker::Name.name }
6
+ association :task
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ FactoryBot.define do
2
+ factory :task_inspection_checklist, class: Ecom::Core::TaskInspectionChecklist do
3
+ name { FFaker::Name.name }
4
+ date_of_inspection { Date.today }
5
+ association :inspected_by, factory: :user
6
+ status { Ecom::Core::TaskInspectionChecklist::NOT_INSPECTED }
7
+ remark { FFaker::Name.name }
8
+ recommendation { FFaker::Name.name }
9
+ association :task
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :task_template_inspection_checklist, class: Ecom::Core::TaskTemplateInspectionChecklist do
3
+ association :task_template
4
+ association :inspection_checklist
5
+ standard { FFaker::Name.name }
6
+ end
7
+ end
@@ -6,13 +6,18 @@ FactoryBot.define do
6
6
  name { FFaker::Name.name }
7
7
  description { FFaker::Name.name }
8
8
  association :task_template_type
9
+ association :unit_of_measure
9
10
  has_takeoff_fields { false }
10
- fields { [{ name: 'length', label: 'Length' }] }
11
- task_steps do
12
- [{
13
- "name": 'Cutting',
14
- "total_contribution_percentage_to_task": 100
15
- }]
11
+ takeoff_fields { [{ name: 'length', label: 'Length' }] }
12
+ percentage_contribution { nil }
13
+ task_sequence { 1 }
14
+ has_inspection { false }
15
+ discipline { false }
16
+ task_completion_detail do
17
+ [
18
+ { name: 'length', label: 'Length' },
19
+ { name: 'width', label: 'Width' }
20
+ ]
16
21
  end
17
22
  end
18
23
  end