fix(cypress): formatFileSize change revert from files library

Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
pull/41010/head
John Molakvoæ 7 months ago
parent 50417bcee8
commit 32c1aebaae
No known key found for this signature in database
GPG Key ID: 60C25B8C072916CF

@ -42,25 +42,23 @@
:open.sync="openedMenu"
@close="openedSubmenu = null">
<!-- Default actions list-->
<template>
<NcActionButton v-for="action in enabledMenuActions"
:key="action.id"
:class="{
[`files-list__row-action-${action.id}`]: true,
[`files-list__row-action--menu`]: isMenu(action.id)
}"
:close-after-click="!isMenu(action.id)"
:data-cy-files-list-row-action="action.id"
:is-menu="isMenu(action.id)"
:title="action.title?.([source], currentView)"
@click="onActionClick(action)">
<template #icon>
<NcLoadingIcon v-if="loading === action.id" :size="18" />
<NcIconSvgWrapper v-else :svg="action.iconSvgInline([source], currentView)" />
</template>
{{ actionDisplayName(action) }}
</NcActionButton>
</template>
<NcActionButton v-for="action in enabledMenuActions"
:key="action.id"
:class="{
[`files-list__row-action-${action.id}`]: true,
[`files-list__row-action--menu`]: isMenu(action.id)
}"
:close-after-click="!isMenu(action.id)"
:data-cy-files-list-row-action="action.id"
:is-menu="isMenu(action.id)"
:title="action.title?.([source], currentView)"
@click="onActionClick(action)">
<template #icon>
<NcLoadingIcon v-if="loading === action.id" :size="18" />
<NcIconSvgWrapper v-else :svg="action.iconSvgInline([source], currentView)" />
</template>
{{ actionDisplayName(action) }}
</NcActionButton>
<!-- Submenu actions list-->
<template v-if="openedSubmenu && enabledSubmenuActions[openedSubmenu?.id]">

@ -51,8 +51,8 @@ export default {
computed: {
storageStatsTitle() {
const usedQuotaByte = formatFileSize(this.storageStats?.used, false, false)
const quotaByte = formatFileSize(this.storageStats?.quota, false, false)
const usedQuotaByte = formatFileSize(this.storageStats?.used, false, false, true)
const quotaByte = formatFileSize(this.storageStats?.quota, false, false, true)
// If no quota set
if (this.storageStats?.quota < 0) {

@ -539,7 +539,7 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.find('.fileinfo').text()).toEqual('2 files');
expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.filesize').text()).toEqual('70 KB');
expect($summary.find('.filesize').text()).toEqual('69 KB');
expect(fileList.isEmpty).toEqual(false);
});
it('Shows empty content when removing last file', function() {
@ -609,7 +609,7 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.find('.fileinfo').text()).toEqual('1 file');
expect($summary.find('.dirinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.fileinfo').hasClass('hidden')).toEqual(false);
expect($summary.find('.filesize').text()).toEqual('58 KB');
expect($summary.find('.filesize').text()).toEqual('57 KB');
expect(fileList.isEmpty).toEqual(false);
expect($('.files-filestable thead th').hasClass('hidden')).toEqual(false);
expect($('.emptyfilelist.emptycontent').hasClass('hidden')).toEqual(true);
@ -1138,7 +1138,7 @@ describe('OCA.Files.FileList tests', function() {
expect($summary.hasClass('hidden')).toEqual(false);
expect($summary.find('.dirinfo').text()).toEqual('1 folder');
expect($summary.find('.fileinfo').text()).toEqual('3 files');
expect($summary.find('.filesize').text()).toEqual('70 KB');
expect($summary.find('.filesize').text()).toEqual('69 KB');
});
it('shows headers, summary and hide empty content message after setting files', function(){
fileList.setFiles(testFiles);

@ -44,7 +44,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.hasClass('hidden')).toEqual(false);
expect($container.find('.dirinfo').text()).toEqual('5 folders');
expect($container.find('.fileinfo').text()).toEqual('2 files');
expect($container.find('.filesize').text()).toEqual('256 KB');
expect($container.find('.filesize').text()).toEqual('250 KB');
});
it('hides summary when no files or folders', function() {
var s = new FileSummary($container);
@ -68,7 +68,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.hasClass('hidden')).toEqual(false);
expect($container.find('.dirinfo').text()).toEqual('6 folders');
expect($container.find('.fileinfo').text()).toEqual('3 files');
expect($container.find('.filesize').text()).toEqual('512 KB');
expect($container.find('.filesize').text()).toEqual('500 KB');
expect(s.summary.totalDirs).toEqual(6);
expect(s.summary.totalFiles).toEqual(3);
expect(s.summary.totalSize).toEqual(512100);
@ -86,7 +86,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.hasClass('hidden')).toEqual(false);
expect($container.find('.dirinfo').text()).toEqual('4 folders');
expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.filesize').text()).toEqual('128 KB');
expect($container.find('.filesize').text()).toEqual('125 KB');
expect(s.summary.totalDirs).toEqual(4);
expect(s.summary.totalFiles).toEqual(1);
expect(s.summary.totalSize).toEqual(127900);
@ -104,7 +104,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('5 folders');
expect($container.find('.fileinfo').text()).toEqual('2 files');
expect($container.find('.filter').text()).toEqual(' match "foo"');
expect($container.find('.filesize').text()).toEqual('256 KB');
expect($container.find('.filesize').text()).toEqual('250 KB');
});
it('hides filtered summary when no files or folders', function() {
var s = new FileSummary($container);
@ -133,7 +133,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('6 folders');
expect($container.find('.fileinfo').text()).toEqual('3 files');
expect($container.find('.filter').text()).toEqual(' match "foo"');
expect($container.find('.filesize').text()).toEqual('512 KB');
expect($container.find('.filesize').text()).toEqual('500 KB');
expect(s.summary.totalDirs).toEqual(6);
expect(s.summary.totalFiles).toEqual(3);
expect(s.summary.totalSize).toEqual(512103);
@ -155,7 +155,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('4 folders');
expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.filter').text()).toEqual(' match "foo"');
expect($container.find('.filesize').text()).toEqual('128 KB');
expect($container.find('.filesize').text()).toEqual('125 KB');
expect(s.summary.totalDirs).toEqual(4);
expect(s.summary.totalFiles).toEqual(1);
expect(s.summary.totalSize).toEqual(127903);
@ -215,7 +215,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(false);
expect($container.find('.hiddeninfo').text()).toEqual(' (including 1 hidden)');
expect($container.find('.filesize').text()).toEqual('768 KB');
expect($container.find('.filesize').text()).toEqual('750 KB');
});
it('does not render hidden count section when hidden files exist but are visible', function() {
window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: true });
@ -228,7 +228,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('2 folders');
expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(true);
expect($container.find('.filesize').text()).toEqual('768 KB');
expect($container.find('.filesize').text()).toEqual('750 KB');
});
it('does not render hidden count section when no hidden files exist', function() {
window._nc_event_bus.emit('files:config:updated', { key: 'show_hidden', value: false });
@ -240,7 +240,7 @@ describe('OCA.Files.FileSummary tests', function() {
expect($container.find('.dirinfo').text()).toEqual('1 folder');
expect($container.find('.fileinfo').text()).toEqual('1 file');
expect($container.find('.hiddeninfo').hasClass('hidden')).toEqual(true);
expect($container.find('.filesize').text()).toEqual('256 KB');
expect($container.find('.filesize').text()).toEqual('250 KB');
});
});
});

@ -62,7 +62,7 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() {
view.setFileInfo(testFileInfo);
expect(view.$el.find('.fileName h3').text()).toEqual('One.txt');
expect(view.$el.find('.fileName h3').attr('title')).toEqual('One.txt');
expect(view.$el.find('.size').text()).toEqual('123.5 MB');
expect(view.$el.find('.size').text()).toEqual('117.7 MB');
expect(view.$el.find('.size').attr('title')).toEqual('123456789 bytes');
expect(view.$el.find('.date').text()).toEqual('seconds ago');
expect(view.$el.find('.date').attr('title')).toEqual(dateExpected);

@ -21,10 +21,11 @@
*/
// TODO: remove when/if the actions API supports a separator
// This the last preset action, so we need to add a separator
.files-list__row-action-set-reminder-3 {
margin-bottom: 13px;
.files-list__row-action-set-reminder-custom {
margin-top: 13px;
position: relative;
&::after {
&::before {
content: "";
margin: 3px 10px 3px 15px;
border-bottom: 1px solid var(--color-border-dark);
@ -34,5 +35,6 @@
position: absolute;
left: 0;
right: 0;
top: -10px;
}
}

@ -63,8 +63,13 @@ const nextWeek: ReminderOption = {
ariaLabel: t('files_reminders', 'Set reminder for next week'),
}
// Generate the default preset actions
export const actions = [laterToday, tomorrow, thisWeekend, nextWeek].map((option): FileAction|null => {
/**
* Generate a file action for the given option
*
* @param option The option to generate the action for
* @return The file action or null if the option should not be shown
*/
const generateFileAction = (option): FileAction|null => {
const dateTime = getDateTime(option.dateTimePreset)
if (!dateTime) {
return null
@ -72,7 +77,7 @@ export const actions = [laterToday, tomorrow, thisWeekend, nextWeek].map((option
return new FileAction({
id: `set-reminder-${option.dateTimePreset}`,
displayName: () => `${option.label} - ${getDateString(dateTime)}`,
displayName: () => `${option.label} ${getDateString(dateTime)}`,
title: () => `${option.ariaLabel} ${getVerboseDateString(dateTime)}`,
// Empty svg to hide the icon
@ -103,4 +108,9 @@ export const actions = [laterToday, tomorrow, thisWeekend, nextWeek].map((option
order: 21,
})
}).filter(Boolean) as FileAction[]
}
// Generate the default preset actions
export const actions = [laterToday, tomorrow, thisWeekend, nextWeek]
.map(generateFileAction)
.filter(Boolean) as FileAction[]

@ -148,8 +148,8 @@ export default Vue.extend({
},
async setCustom(): Promise<void> {
// Handle input cleared
if (this.customDueDate === '') {
// Handle input cleared or invalid date
if (!(this.customDueDate instanceof Date) || isNaN(this.customDueDate)) {
showError(t('files_reminders', 'Please choose a valid date & time'))
return
}

@ -37,8 +37,6 @@ const CustomReminderModal = new View({
})
export const pickCustomDate = async (node: Node): Promise<void> => {
console.debug('CustomReminderModal', mount, CustomReminderModal)
CustomReminderModal.open(node)
// Wait for the modal to close

@ -24,10 +24,10 @@ import moment from '@nextcloud/moment'
import { getCanonicalLocale } from '@nextcloud/l10n'
export enum DateTimePreset {
LaterToday,
Tomorrow,
ThisWeekend,
NextWeek,
LaterToday = 'later-today',
Tomorrow = 'tomorrow',
ThisWeekend = 'this-weekend',
NextWeek = 'next-week',
}
export const getDateTime = (dateTime: DateTimePreset): null | Date => {

File diff suppressed because one or more lines are too long

@ -19,8 +19,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
/**
* @copyright 2021 Christoph Wurst <christoph@winzerhof-wurst.at>
*

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save