Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1428892
jest.setup.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
jest.setup.js
View Options
'use strict'
;
const
{
config
}
=
require
(
'@vue/test-utils'
);
/**
* Mock for the calls to Core's $i18n plugin which returns a mw.Message object.
*
* @param {string} key The key of the message to parse.
* @param {...*} args Arbitrary number of arguments to be parsed.
* @return {Object} mw.Message-like object with .text() and .parse() methods.
*/
function
$i18nMock
(
key
,
...
args
)
{
function
serializeArgs
()
{
return
args
.
length
?
`
${
key
}
:[
${
args
.
join
(
','
)
}
]`
:
key
;
}
return
{
text
:
()
=>
serializeArgs
(),
parse
:
()
=>
serializeArgs
()
};
}
// Mock Vue plugins in test suites.
config
.
global
.
provide
=
{
i18n
:
$i18nMock
};
config
.
global
.
mocks
=
{
$i18n
:
$i18nMock
};
config
.
global
.
directives
=
{
'i18n-html'
:
(
el
,
binding
)
=>
{
el
.
innerHTML
=
`
${
binding
.
arg
}
(
${
binding
.
value
}
)`
;
}
};
function
ApiMock
()
{}
ApiMock
.
prototype
.
get
=
jest
.
fn
();
ApiMock
.
prototype
.
post
=
jest
.
fn
();
ApiMock
.
prototype
.
postWithEditToken
=
jest
.
fn
();
ApiMock
.
prototype
.
postWithToken
=
jest
.
fn
();
function
RestMock
()
{}
RestMock
.
prototype
.
get
=
jest
.
fn
();
function
TitleMock
()
{}
TitleMock
.
prototype
.
getMainText
=
jest
.
fn
();
TitleMock
.
prototype
.
getNameText
=
jest
.
fn
();
TitleMock
.
prototype
.
getUrl
=
jest
.
fn
();
// Mock the mw global object.
const
mw
=
{
Api
:
ApiMock
,
log
:
{
error
:
jest
.
fn
(),
warn
:
jest
.
fn
()
},
config
:
{
get
:
jest
.
fn
()
},
message
:
jest
.
fn
(
(
key
)
=>
(
{
text
:
jest
.
fn
(
()
=>
key
),
parse
:
jest
.
fn
()
}
)
),
msg
:
jest
.
fn
(
(
key
)
=>
key
),
user
:
{
getId
:
jest
.
fn
(),
getName
:
jest
.
fn
(),
isAnon
:
jest
.
fn
().
mockReturnValue
(
true
),
options
:
{
get
:
jest
.
fn
()
}
},
language
:
{
convertNumber
:
jest
.
fn
(
(
x
)
=>
x
),
getFallbackLanguageChain
:
()
=>
[
'en'
]
},
Title
:
TitleMock
,
util
:
{
getUrl
:
jest
.
fn
(),
isInfinity
:
jest
.
fn
()
},
Rest
:
RestMock
// Add more mw properties as needed…
};
// Assign things to "global" here if you want them to be globally available during Jest tests.
global
.
mw
=
mw
;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, May 16, 16:47 (12 h, 4 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
ad/c8/f7aa2c61068c9fff07ac7d77c266
Default Alt Text
jest.setup.js (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment