В проекте Rails у меня есть несколько файлов JavaScript, которые содержат синтаксис ERB, т.е.
// en_store.coffee.erb
EnStore =
activities:
title: 'Delete Note?'
image: '<%= asset_path("crm/sections/en/calendar.png") %>'
module.exports.EnStore = EnStore
И тест:
// en_store.test.coffee
import { EnStore } from 'stores/en_store'
describe 'EN Store', () ->
// This test passes.
it 'should provide hard typed translation', () ->
expect(EnStore.activities.title).toBe('Delete Note?')
// This one fails as the EnStore.activities.image contains '<%= asset_path("crm/sections/en/calendar.png") %>' as a string and not the actual interpolated value.
it 'should provide asset path', () ->
expect(EnStore.activities.image).toBe('[This is not interpolated]')
Попытка проверить его с помощью Jest приводит к ошибке, поскольку часть ERB не интерполируется. Вне теста это обрабатывается Webpack через rails-erb-loader
. Как я могу заставить его работать с Jest? Существует ли какой-либо пакет transform
, который позволил бы мне сделать это?
Или есть альтернатива Jest, которая позволила бы мне тестировать файлы такого типа?