ecom_core 1.2.34 → 1.3.2

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.
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