summaryrefslogtreecommitdiff
path: root/spec/frontend/project_find_file_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/project_find_file_spec.js')
-rw-r--r--spec/frontend/project_find_file_spec.js45
1 files changed, 20 insertions, 25 deletions
diff --git a/spec/frontend/project_find_file_spec.js b/spec/frontend/project_find_file_spec.js
index b697ca01046..b4c6d202e14 100644
--- a/spec/frontend/project_find_file_spec.js
+++ b/spec/frontend/project_find_file_spec.js
@@ -42,21 +42,23 @@ describe('ProjectFindFile', () => {
}));
const files = [
- 'fileA.txt',
- 'fileB.txt',
- 'fi#leC.txt',
- 'folderA/fileD.txt',
- 'folder#B/fileE.txt',
- 'folde?rC/fil#F.txt',
+ { path: 'fileA.txt', escaped: 'fileA.txt' },
+ { path: 'fileB.txt', escaped: 'fileB.txt' },
+ { path: 'fi#leC.txt', escaped: 'fi%23leC.txt' },
+ { path: 'folderA/fileD.txt', escaped: 'folderA/fileD.txt' },
+ { path: 'folder#B/fileE.txt', escaped: 'folder%23B/fileE.txt' },
+ { path: 'folde?rC/fil#F.txt', escaped: 'folde%3FrC/fil%23F.txt' },
];
- beforeEach(() => {
+ beforeEach(done => {
// Create a mock adapter for stubbing axios API requests
mock = new MockAdapter(axios);
element = $(TEMPLATE);
- mock.onGet(FILE_FIND_URL).replyOnce(200, files);
+ mock.onGet(FILE_FIND_URL).replyOnce(200, files.map(x => x.path));
getProjectFindFileInstance(); // This triggers a load / axios call + subsequent render in the constructor
+
+ setImmediate(done);
});
afterEach(() => {
@@ -65,26 +67,19 @@ describe('ProjectFindFile', () => {
sanitize.mockClear();
});
- it('loads and renders elements from remote server', done => {
- setImmediate(() => {
- expect(findFiles()).toEqual(
- files.map(text => ({
- text,
- href: `${BLOB_URL_TEMPLATE}/${encodeURIComponent(text)}`,
- })),
- );
-
- done();
- });
+ it('loads and renders elements from remote server', () => {
+ expect(findFiles()).toEqual(
+ files.map(({ path, escaped }) => ({
+ text: path,
+ href: `${BLOB_URL_TEMPLATE}/${escaped}`,
+ })),
+ );
});
- it('sanitizes search text', done => {
+ it('sanitizes search text', () => {
const searchText = element.find('.file-finder-input').val();
- setImmediate(() => {
- expect(sanitize).toHaveBeenCalledTimes(1);
- expect(sanitize).toHaveBeenCalledWith(searchText);
- done();
- });
+ expect(sanitize).toHaveBeenCalledTimes(1);
+ expect(sanitize).toHaveBeenCalledWith(searchText);
});
});