Sha256: 51f6a2ac60eae842f509e542d82f599fb7d229875b1360be86714033ebec9998

Contents?: true

Size: 1.04 KB

Versions: 6

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

require 'factory_bot'
require 'securerandom'

FactoryBot.define do
  factory :meibo_academic_session, class: 'Meibo::AcademicSession' do
    initialize_with { new(**attributes) }

    transient do
      today { Date.today }
      parent { nil }
    end

    sourced_id { SecureRandom.uuid }
    title { "#{school_year}年度" }
    type { Meibo::AcademicSession::TYPES[:school_year] }
    start_date { Date.new(school_year, 4, 1) }
    end_date { Date.new(school_year + 1, 3, 31) }
    parent_sourced_id { parent&.sourced_id }
    school_year { today.year }

    trait :grading_period do
      type { Meibo::AcademicSession::TYPES[:grading_period] }
    end

    trait :semester do
      type { Meibo::AcademicSession::TYPES[:semester] }
    end

    trait :school_year do
      type { Meibo::AcademicSession::TYPES[:school_year] }
    end

    trait :term do
      type { Meibo::AcademicSession::TYPES[:term] }
    end

    trait :jp do
      initialize_with { Meibo::JapanProfile::AcademicSession.new(**attributes) }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
meibo-0.16.0 lib/meibo/factory_bot/academic_session.rb
meibo-0.15.0 lib/meibo/factory_bot/academic_session.rb
meibo-0.14.0 lib/meibo/factory_bot/academic_session.rb
meibo-0.13.0 lib/meibo/factory_bot/academic_session.rb
meibo-0.12.0 lib/meibo/factory_bot/academic_session.rb
meibo-0.11.0 lib/meibo/factory_bot/academic_session.rb