Open1

Snowfakery で検証した YAML ファイル

manabianmanabian

Sales に関する基本的なオブジェクトを作成

対象のオブジェクト

  • Lead
  • Opportunity
  • Order
  • Case
  • User
  • Account
  • Contract
  • Campaign
  • Product
  • Price Book Entry

オブジェクトの依存関係

  • User
  • Product -> Price Book Entry
  • Campaign
  • Account -> Contact -> Lead -> Opportunity -> Order
  • Case

YAML

- snowfakery_version: 3
- var: snowfakery_locale
  value: ja_JP

- object: User
  fields:
    Username:
      fake: Username
  

- object: Product2
  count: 50
  fields:
    Name:
      fake: word
    IsActive: True
    ProductCode: ${{fake.Bothify(text='PROD-#####')}}
  friends:
    - object: PricebookEntry
      count: 1
      fields:
        Product2Id:
          reference: Product2
        UnitPrice: ${{fake.random_number(digits=2, fix_len=True)}}
        IsActive: True


- object: Campaign
  count: 50
  fields:
    Name:
      fake: catch_phrase


- object: Account
  count: 10
  fields:
    Name:
      fake: company
  friends:
    - object: Contact
      count:
        random_number:
          min: 1
          max: 3
      fields:
        FirstName:
          fake: first_name
        LastName:
          fake: last_name
        AccountId:
          reference: Account
        OwnerId:
          random_reference: User
      friends:
        - object: Lead
          count:
            random_number:
              min: 5
              max: 10
          fields:
            Firstname: ${{Contact.FirstName}}
            LastName: ${{Contact.LastName}}
            Company: ${{Account.Name}}
            ConvertedAccountId: ${{Contact.AccountId}}
            ConvertedContactId:
              reference: Contact
          friends:
            - object: Opportunity
              count:
                random_choice:
                  0: 64%
                  1: 36%
              fields:
                name: The ${{Contact.LastName}} Opportunity by  acquired through the ${{Campaign.Name}} campaign. 
                ContactId:
                  reference: Contact
                CampaignId:
                  random_reference: Campaign
                AccountId:
                  reference: Account
                OwnerId:
                  random_reference: User
              friends:
                - object: Order
                  count:
                    random_choice:
                      0: 72%
                      1: 28%
                  fields:
                    AccountId:
                      reference: Account
                    OrderNumber: ${{fake.Bothify(text='ORD-#####')}}
                    Status:
                      random_choice:
                        "Draft": 20%
                        "Activated": 20%
                        "Completed": 20%
                        "Cancelled": 40%


- object: Case
  count: 15
  fields:
    AccountId:
      random_reference: Account
    CaseNumber: ${{fake.bothify(text='CASE-#####')}}