# Qunit tests not deterministic in Plugin?

**URL:** https://meta.discourse.org/t/qunit-tests-not-deterministic-in-plugin/233389
**Category:** Development
**Created:** [July 20, 2022, 8:48am UTC](https://meta.discourse.org/t/qunit-tests-not-deterministic-in-plugin/233389 "2022-07-20T08:48:28Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [July 20, 2022, 8:48am UTC](https://meta.discourse.org/t/qunit-tests-not-deterministic-in-plugin/233389/1 "2022-07-20T08:48:28Z")

</div>

I seem to be running into a race condition in Qunit, in my case running:

`rake "plugin:qunit[discourse-multilingual]"` with a branch installed.

I’m declaring a function in my initializer (i’m extending _I18n_)

The tests sometimes (25%?) seem to run before the plugin’s ember initializer has run and fails because the function is not defined.

How do I _ensure_ the plugin’s initializer js has run before the test fires?

test:

> <https://github.com/paviliondev/discourse-multilingual/blob/c7c0226ce3b3ef9cd2d575efa4c446834699271e/test/javascripts/acceptance/translate-tag-test.js.es6#L12>

definition:

> <https://github.com/paviliondev/discourse-multilingual/blob/c7c0226ce3b3ef9cd2d575efa4c446834699271e/assets/javascripts/discourse/initializers/multilingual-initializer.js.es6#L39>

intermittent error:

`TypeError: _I18n.default.translate_tag is not a function`

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [July 20, 2022, 11:03am UTC](https://meta.discourse.org/t/qunit-tests-not-deterministic-in-plugin/233389/2 "2022-07-20T11:03:42Z")

</div>

OK I resolved this by refactoring. I moved my function out of I18n and into an existing multilingual module.

Something about extending I18n here is not reliable in all scenarios, least of all unit testing, apparently!
