/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
 * under one or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information regarding copyright
 * ownership. Camunda licenses this file to you under the Apache License,
 * Version 2.0; you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

'use strict';

var factory = require('../../../common/tests/setup-factory.js'),
  readResource = factory.readResource,
  combine = factory.combine,
  operation = factory.operation;

module.exports = {
  setup1: combine(
    operation('deployment', 'create', [
      {
        deploymentName: 'user-tasks',
        files: [
          {
            name: 'user-tasks.bpmn',
            content: readResource('user-tasks.bpmn')
          }
        ]
      },
      {
        deploymentName: 'suspension-process',
        files: [
          {
            name: 'suspension-process.bpmn',
            content: readResource('suspension-process.bpmn')
          }
        ]
      }
    ]),

    operation('filter', 'create', [
      {
        name: 'All',
        query: {},
        properties: {
          variables: [
            {
              name: 'var_1',
              label: 'var_1'
            },
            {
              name: 'var_2',
              label: 'var_2'
            },
            {
              name: 'var_3',
              label: 'var_3'
            },
            {
              name: 'var_4',
              label: 'var_4'
            },
            {
              name: 'var_5',
              label: 'var_5'
            },
            {
              name: 'var_6',
              label: 'var_6'
            },
            {
              name: 'var_7',
              label: 'var_7'
            }
          ],
          priority: 10,
          description: 'Show all Tasks'
        },
        resourceType: 'Task'
      }
    ])
  ),

  multiTenancySetup: combine(
    operation('deployment', 'create', [
      {
        deploymentName: 'user-tasks',
        tenantId: 'tenant1',
        files: [
          {
            name: 'user-tasks.bpmn',
            content: readResource('user-tasks.bpmn')
          }
        ]
      }
    ]),

    operation('deployment', 'create', [
      {
        deploymentName: 'user-tasks',
        files: [
          {
            name: 'user-tasks.bpmn',
            content: readResource('user-tasks.bpmn')
          }
        ]
      }
    ]),

    operation('filter', 'create', [
      {
        name: 'All',
        query: {},
        properties: {
          priority: 10,
          description: 'Show all Tasks'
        },
        resourceType: 'Task'
      }
    ])
  )
};
