github.com/Ilhicas/nomad@v1.0.4-0.20210304152020-e86851182bc3/ui/tests/acceptance/task-fs-test.js (about)

     1  /* eslint-disable ember-a11y-testing/a11y-audit-called */ // Covered in behaviours/fs
     2  import { module } from 'qunit';
     3  import { setupApplicationTest } from 'ember-qunit';
     4  
     5  import setupMirage from 'ember-cli-mirage/test-support/setup-mirage';
     6  
     7  import browseFilesystem from './behaviors/fs';
     8  
     9  let allocation;
    10  let task;
    11  let files, taskDirectory, directory, nestedDirectory;
    12  
    13  module('Acceptance | task fs', function(hooks) {
    14    setupApplicationTest(hooks);
    15    setupMirage(hooks);
    16  
    17    hooks.beforeEach(async function() {
    18      server.create('agent');
    19      server.create('node', 'forceIPv4');
    20      const job = server.create('job', { createAllocations: false });
    21  
    22      allocation = server.create('allocation', { jobId: job.id, clientStatus: 'running' });
    23      task = server.schema.taskStates.where({ allocationId: allocation.id }).models[0];
    24      task.name = 'task-name';
    25      task.save();
    26  
    27      this.task = task;
    28      this.allocation = allocation;
    29  
    30      // Reset files
    31      files = [];
    32  
    33      taskDirectory = server.create('allocFile', { isDir: true, name: task.name });
    34      files.push(taskDirectory);
    35  
    36      // Nested files
    37      directory = server.create('allocFile', {
    38        isDir: true,
    39        name: 'directory',
    40        parent: taskDirectory,
    41      });
    42      files.push(directory);
    43  
    44      nestedDirectory = server.create('allocFile', {
    45        isDir: true,
    46        name: 'another',
    47        parent: directory,
    48      });
    49      files.push(nestedDirectory);
    50  
    51      files.push(
    52        server.create('allocFile', 'file', {
    53          name: 'something.txt',
    54          fileType: 'txt',
    55          parent: nestedDirectory,
    56        })
    57      );
    58  
    59      files.push(
    60        server.create('allocFile', { isDir: true, name: 'empty-directory', parent: taskDirectory })
    61      );
    62      files.push(server.create('allocFile', 'file', { fileType: 'txt', parent: taskDirectory }));
    63      files.push(server.create('allocFile', 'file', { fileType: 'txt', parent: taskDirectory }));
    64  
    65      this.files = files;
    66      this.directory = directory;
    67      this.nestedDirectory = nestedDirectory;
    68    });
    69  
    70    browseFilesystem({
    71      visitSegments: ({ allocation, task }) => ({ id: allocation.id, name: task.name }),
    72      getExpectedPathBase: ({ allocation, task }) => `/allocations/${allocation.id}/${task.name}/fs/`,
    73      getTitleComponent: ({ task }) => `Task ${task.name} filesystem`,
    74      getBreadcrumbComponent: ({ task }) => task.name,
    75      getFilesystemRoot: ({ task }) => task.name,
    76      pageObjectVisitFunctionName: 'visitTask',
    77      pageObjectVisitPathFunctionName: 'visitTaskPath',
    78    });
    79  });