Skip to content

Commit

Permalink
test: Add component testing config
Browse files Browse the repository at this point in the history
Signed-off-by: Louis Chemineau <louis@chmn.me>
  • Loading branch information
artonge committed Jul 15, 2024
1 parent d89dbe8 commit 900ac4c
Show file tree
Hide file tree
Showing 5 changed files with 112 additions and 0 deletions.
7 changes: 7 additions & 0 deletions cypress.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,11 @@ export default defineConfig({
})
},
},

component: {
devServer: {
framework: 'vue',
bundler: 'vite',
},
},
})
5 changes: 5 additions & 0 deletions cypress/component/ComponentName.cy.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
describe('ComponentName.cy.ts', () => {
it('playground', () => {
// cy.mount()
})
})
12 changes: 12 additions & 0 deletions cypress/support/component-index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Components App</title>
</head>
<body>
<div data-cy-root></div>
</body>
</html>
39 changes: 39 additions & 0 deletions cypress/support/component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
// ***********************************************************
// This example support/component.ts is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************

// Import commands.js using ES2015 syntax:
import './commands'

// Alternatively you can use CommonJS syntax:
// require('./commands')

import { mount } from 'cypress/vue2'

// Augment the Cypress namespace to include type definitions for
// your custom command.
// Alternatively, can be defined in cypress/support/component.d.ts
// with a <reference path="./component" /> at the top of your spec.
declare global {
namespace Cypress {
interface Chainable {
mount: typeof mount
}
}
}

Cypress.Commands.add('mount', mount)

// Example use:
// cy.mount(MyComponent)
49 changes: 49 additions & 0 deletions vite.config.ts.timestamp-1721048681302-76d79ffc82f35.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// vite.config.ts
import { createAppConfig } from "file:///home/louis/workspace/nextcloud/apps/activity/node_modules/@nextcloud/vite-config/dist/index.js";
import { join } from "path";
var __vite_injected_original_dirname = "/home/louis/workspace/nextcloud/apps/activity";
var vite_config_default = createAppConfig({
api: join(__vite_injected_original_dirname, "src", "api.ts"),
app: join(__vite_injected_original_dirname, "src", "app.ts"),
sidebar: join(__vite_injected_original_dirname, "src", "sidebar.js"),
personalSettings: join(__vite_injected_original_dirname, "src", "settings-personal.js"),
adminSettings: join(__vite_injected_original_dirname, "src", "settings-admin.js")
}, {
inlineCSS: { relativeCSSInjection: true },
config: {
experimental: {
renderBuiltUrl(filename) {
return {
// already contains the "js/" prefix as it is our output file configuration
runtime: `OC.filePath('activity', '', '${filename}')`
};
}
},
// Setup for vitest unit tests
test: {
environment: "happy-dom",
coverage: {
all: true,
clean: true,
extension: [".js", ".ts", ".vue"],
provider: "v8"
},
root: "src/",
deps: {
moduleDirectories: ["node_modules", "../node_modules"]
},
cache: {
dir: "../node_modules/.vitest"
},
server: {
deps: {
inline: [/@nextcloud\/vue/, /@mdi\/svg/]
}
}
}
}
});
export {
vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL2FwcHMvYWN0aXZpdHlcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2xvdWlzL3dvcmtzcGFjZS9uZXh0Y2xvdWQvYXBwcy9hY3Rpdml0eS92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS9sb3Vpcy93b3Jrc3BhY2UvbmV4dGNsb3VkL2FwcHMvYWN0aXZpdHkvdml0ZS5jb25maWcudHNcIjtpbXBvcnQgdHlwZSB7IFVzZXJDb25maWcgfSBmcm9tICd2aXRlc3QnXG5pbXBvcnQgeyBjcmVhdGVBcHBDb25maWcgfSBmcm9tICdAbmV4dGNsb3VkL3ZpdGUtY29uZmlnJ1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnXG5cbi8vIHJlcGxhY2VkIGJ5IHZpdGVcbmRlY2xhcmUgY29uc3QgX19kaXJuYW1lOiBzdHJpbmdcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQXBwQ29uZmlnKHtcblx0YXBpOiBqb2luKF9fZGlybmFtZSwgJ3NyYycsICdhcGkudHMnKSxcblx0YXBwOiBqb2luKF9fZGlybmFtZSwgJ3NyYycsICdhcHAudHMnKSxcblx0c2lkZWJhcjogam9pbihfX2Rpcm5hbWUsICdzcmMnLCAnc2lkZWJhci5qcycpLFxuXHRwZXJzb25hbFNldHRpbmdzOiBqb2luKF9fZGlybmFtZSwgJ3NyYycsICdzZXR0aW5ncy1wZXJzb25hbC5qcycpLFxuXHRhZG1pblNldHRpbmdzOiBqb2luKF9fZGlybmFtZSwgJ3NyYycsICdzZXR0aW5ncy1hZG1pbi5qcycpLFxufSwge1xuXHRpbmxpbmVDU1M6IHsgcmVsYXRpdmVDU1NJbmplY3Rpb246IHRydWUgfSxcblx0Y29uZmlnOiB7XG5cdFx0ZXhwZXJpbWVudGFsOiB7XG5cdFx0XHRyZW5kZXJCdWlsdFVybChmaWxlbmFtZSkge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdC8vIGFscmVhZHkgY29udGFpbnMgdGhlIFwianMvXCIgcHJlZml4IGFzIGl0IGlzIG91ciBvdXRwdXQgZmlsZSBjb25maWd1cmF0aW9uXG5cdFx0XHRcdFx0cnVudGltZTogYE9DLmZpbGVQYXRoKCdhY3Rpdml0eScsICcnLCAnJHtmaWxlbmFtZX0nKWAsXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0fSxcblx0XHQvLyBTZXR1cCBmb3Igdml0ZXN0IHVuaXQgdGVzdHNcblx0XHR0ZXN0OiB7XG5cdFx0XHRlbnZpcm9ubWVudDogJ2hhcHB5LWRvbScsXG5cdFx0XHRjb3ZlcmFnZToge1xuXHRcdFx0XHRhbGw6IHRydWUsXG5cdFx0XHRcdGNsZWFuOiB0cnVlLFxuXHRcdFx0XHRleHRlbnNpb246IFsnLmpzJywgJy50cycsICcudnVlJ10sXG5cdFx0XHRcdHByb3ZpZGVyOiAndjgnLFxuXHRcdFx0fSxcblx0XHRcdHJvb3Q6ICdzcmMvJyxcblx0XHRcdGRlcHM6IHtcblx0XHRcdFx0bW9kdWxlRGlyZWN0b3JpZXM6IFsnbm9kZV9tb2R1bGVzJywgJy4uL25vZGVfbW9kdWxlcyddLFxuXHRcdFx0fSxcblx0XHRcdGNhY2hlOiB7XG5cdFx0XHRcdGRpcjogJy4uL25vZGVfbW9kdWxlcy8udml0ZXN0Jyxcblx0XHRcdH0sXG5cdFx0XHRzZXJ2ZXI6IHtcblx0XHRcdFx0ZGVwczoge1xuXHRcdFx0XHRcdGlubGluZTogWy9AbmV4dGNsb3VkXFwvdnVlLywgL0BtZGlcXC9zdmcvXSxcblx0XHRcdFx0fSxcblx0XHRcdH0sXG5cdFx0fSBhcyBVc2VyQ29uZmlnLFxuXHR9LFxufSlcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLFlBQVk7QUFGckIsSUFBTSxtQ0FBbUM7QUFPekMsSUFBTyxzQkFBUSxnQkFBZ0I7QUFBQSxFQUM5QixLQUFLLEtBQUssa0NBQVcsT0FBTyxRQUFRO0FBQUEsRUFDcEMsS0FBSyxLQUFLLGtDQUFXLE9BQU8sUUFBUTtBQUFBLEVBQ3BDLFNBQVMsS0FBSyxrQ0FBVyxPQUFPLFlBQVk7QUFBQSxFQUM1QyxrQkFBa0IsS0FBSyxrQ0FBVyxPQUFPLHNCQUFzQjtBQUFBLEVBQy9ELGVBQWUsS0FBSyxrQ0FBVyxPQUFPLG1CQUFtQjtBQUMxRCxHQUFHO0FBQUEsRUFDRixXQUFXLEVBQUUsc0JBQXNCLEtBQUs7QUFBQSxFQUN4QyxRQUFRO0FBQUEsSUFDUCxjQUFjO0FBQUEsTUFDYixlQUFlLFVBQVU7QUFDeEIsZUFBTztBQUFBO0FBQUEsVUFFTixTQUFTLGdDQUFnQyxRQUFRO0FBQUEsUUFDbEQ7QUFBQSxNQUNEO0FBQUEsSUFDRDtBQUFBO0FBQUEsSUFFQSxNQUFNO0FBQUEsTUFDTCxhQUFhO0FBQUEsTUFDYixVQUFVO0FBQUEsUUFDVCxLQUFLO0FBQUEsUUFDTCxPQUFPO0FBQUEsUUFDUCxXQUFXLENBQUMsT0FBTyxPQUFPLE1BQU07QUFBQSxRQUNoQyxVQUFVO0FBQUEsTUFDWDtBQUFBLE1BQ0EsTUFBTTtBQUFBLE1BQ04sTUFBTTtBQUFBLFFBQ0wsbUJBQW1CLENBQUMsZ0JBQWdCLGlCQUFpQjtBQUFBLE1BQ3REO0FBQUEsTUFDQSxPQUFPO0FBQUEsUUFDTixLQUFLO0FBQUEsTUFDTjtBQUFBLE1BQ0EsUUFBUTtBQUFBLFFBQ1AsTUFBTTtBQUFBLFVBQ0wsUUFBUSxDQUFDLG1CQUFtQixXQUFXO0FBQUEsUUFDeEM7QUFBQSxNQUNEO0FBQUEsSUFDRDtBQUFBLEVBQ0Q7QUFDRCxDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=

0 comments on commit 900ac4c

Please sign in to comment.