colocate some due-date specs

Change-Id: I40d7dc6060477808b7c76d5e9a4d23691c3ca04f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/349352
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
Product-Review: Aaron Shafovaloff <ashafovaloff@instructure.com>
This commit is contained in:
Aaron Shafovaloff 2024-06-05 16:31:41 -06:00
parent 91c7608b69
commit 383265f406
10 changed files with 27 additions and 25 deletions

View File

@ -20,7 +20,7 @@ import $ from 'jquery'
import 'jquery-migrate' import 'jquery-migrate'
import React from 'react' import React from 'react'
import ReactDOM from 'react-dom' import ReactDOM from 'react-dom'
import DueDateAddRowButton from '@canvas/due-dates/react/DueDateAddRowButton' import DueDateAddRowButton from '../DueDateAddRowButton'
QUnit.module('DueDateAddRowButton with true display prop', { QUnit.module('DueDateAddRowButton with true display prop', {
setup() { setup() {

View File

@ -19,7 +19,7 @@
import React from 'react' import React from 'react'
import {render} from '@testing-library/react' import {render} from '@testing-library/react'
import chicago from 'timezone/America/Chicago' import chicago from 'timezone/America/Chicago'
import DueDateCalendarPicker from '@canvas/due-dates/react/DueDateCalendarPicker' import DueDateCalendarPicker from '../DueDateCalendarPicker'
import * as tz from '@instructure/moment-utils' import * as tz from '@instructure/moment-utils'
import tzInTest from '@instructure/moment-utils/specHelpers' import tzInTest from '@instructure/moment-utils/specHelpers'
import fakeENV from 'helpers/fakeENV' import fakeENV from 'helpers/fakeENV'

View File

@ -20,7 +20,7 @@ import $ from 'jquery'
import 'jquery-migrate' import 'jquery-migrate'
import React from 'react' import React from 'react'
import ReactDOM from 'react-dom' import ReactDOM from 'react-dom'
import DueDateCalendars from '@canvas/due-dates/react/DueDateCalendars' import DueDateCalendars from '../DueDateCalendars'
import fakeENV from 'helpers/fakeENV' import fakeENV from 'helpers/fakeENV'
let wrapper = null let wrapper = null

View File

@ -21,7 +21,7 @@ import 'jquery-migrate'
import React from 'react' import React from 'react'
import ReactDOM from 'react-dom' import ReactDOM from 'react-dom'
import {Simulate} from 'react-dom/test-utils' import {Simulate} from 'react-dom/test-utils'
import DueDateRemoveRowLink from '@canvas/due-dates/react/DueDateRemoveRowLink' import DueDateRemoveRowLink from '../DueDateRemoveRowLink'
QUnit.module('DueDateRemoveRowLink', { QUnit.module('DueDateRemoveRowLink', {
setup() { setup() {

View File

@ -20,7 +20,7 @@ import $ from 'jquery'
import 'jquery-migrate' import 'jquery-migrate'
import React from 'react' import React from 'react'
import ReactDOM from 'react-dom' import ReactDOM from 'react-dom'
import DueDateRow from '@canvas/due-dates/react/DueDateRow' import DueDateRow from '../DueDateRow'
import fakeENV from 'helpers/fakeENV' import fakeENV from 'helpers/fakeENV'
QUnit.module('DueDateRow with empty props and canDelete true', { QUnit.module('DueDateRow with empty props and canDelete true', {
@ -126,20 +126,20 @@ test('does not return remove link if not canDelete', function () {
test('tokenizing ADHOC overrides works', function () { test('tokenizing ADHOC overrides works', function () {
const tokens = this.dueDateRow.tokenizedOverrides() const tokens = this.dueDateRow.tokenizedOverrides()
equal(6, tokens.length) equal(tokens.length, 6)
equal(3, tokens.filter(t => t.type === 'student').length) equal(tokens.filter(t => t.type === 'student').length, 3)
}) })
test('tokenizing section overrides works', function () { test('tokenizing section overrides works', function () {
const tokens = this.dueDateRow.tokenizedOverrides() const tokens = this.dueDateRow.tokenizedOverrides()
equal(6, tokens.length) equal(tokens.length, 6)
equal(2, tokens.filter(t => t.type === 'section').length) equal(tokens.filter(t => t.type === 'section').length, 2)
}) })
test('tokenizing group overrides works', function () { test('tokenizing group overrides works', function () {
const tokens = this.dueDateRow.tokenizedOverrides() const tokens = this.dueDateRow.tokenizedOverrides()
equal(6, tokens.length) equal(tokens.length, 6)
equal(1, tokens.filter(t => t.type === 'group').length) equal(tokens.filter(t => t.type === 'group').length, 1)
}) })
test('section tokens are given their proper name if loaded', function () { test('section tokens are given their proper name if loaded', function () {

View File

@ -16,9 +16,10 @@
* with this program. If not, see <http://www.gnu.org/licenses/>. * with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
import $ from 'jquery'
import React from 'react' import React from 'react'
import ReactDOM from 'react-dom' import ReactDOM from 'react-dom'
import DueDateTokenWrapper from '@canvas/due-dates/react/DueDateTokenWrapper' import DueDateTokenWrapper from '../DueDateTokenWrapper'
import fakeENV from 'helpers/fakeENV' import fakeENV from 'helpers/fakeENV'
QUnit.module('DueDateTokenWrapper', { QUnit.module('DueDateTokenWrapper', {

View File

@ -22,9 +22,9 @@ import React from 'react'
import ReactDOM from 'react-dom' import ReactDOM from 'react-dom'
import TestUtils from 'react-dom/test-utils' import TestUtils from 'react-dom/test-utils'
import {every, keys, isEmpty, intersection, map} from 'lodash' import {every, keys, isEmpty, intersection, map} from 'lodash'
import DueDates from '@canvas/due-dates/react/DueDates' import DueDates from '../DueDates'
import OverrideStudentStore from '@canvas/due-dates/react/OverrideStudentStore' import OverrideStudentStore from '../OverrideStudentStore'
import StudentGroupStore from '@canvas/due-dates/react/StudentGroupStore' import StudentGroupStore from '../StudentGroupStore'
import AssignmentOverride from '@canvas/assignments/backbone/models/AssignmentOverride' import AssignmentOverride from '@canvas/assignments/backbone/models/AssignmentOverride'
import fakeENV from 'helpers/fakeENV' import fakeENV from 'helpers/fakeENV'
@ -144,6 +144,7 @@ test('properly removes a row', function () {
}, },
}) })
equal(this.dueDates.sortedRowKeys().length, 2) equal(this.dueDates.sortedRowKeys().length, 2)
// eslint-disable-next-line qunit/assert-args
equal(this.dueDates.removeRow('2')) equal(this.dueDates.removeRow('2'))
equal(this.dueDates.sortedRowKeys().length, 1) equal(this.dueDates.sortedRowKeys().length, 1)
}) })
@ -157,9 +158,11 @@ test('will not allow removing the last row', function () {
}) })
equal(this.dueDates.sortedRowKeys().length, 2) equal(this.dueDates.sortedRowKeys().length, 2)
ok(this.dueDates.canRemoveRow()) ok(this.dueDates.canRemoveRow())
// eslint-disable-next-line qunit/assert-args
equal(this.dueDates.removeRow('2')) equal(this.dueDates.removeRow('2'))
equal(this.dueDates.sortedRowKeys().length, 1) equal(this.dueDates.sortedRowKeys().length, 1)
ok(!this.dueDates.canRemoveRow()) ok(!this.dueDates.canRemoveRow())
// eslint-disable-next-line qunit/assert-args
equal(this.dueDates.removeRow('1')) equal(this.dueDates.removeRow('1'))
equal(this.dueDates.sortedRowKeys().length, 1) equal(this.dueDates.sortedRowKeys().length, 1)
}) })
@ -462,8 +465,6 @@ QUnit.module('DueDates render callbacks', {
due_at: null, due_at: null,
}) })
this.dueDates
this.props = { this.props = {
overrides: [this.override], overrides: [this.override],
defaultSectionId: '0', defaultSectionId: '0',

View File

@ -17,7 +17,7 @@
*/ */
import _ from 'lodash' import _ from 'lodash'
import OverrideStudentStore from '@canvas/due-dates/react/OverrideStudentStore' import OverrideStudentStore from '../OverrideStudentStore'
import fakeENV from 'helpers/fakeENV' import fakeENV from 'helpers/fakeENV'
QUnit.module('OverrideStudentStore', { QUnit.module('OverrideStudentStore', {
@ -238,16 +238,16 @@ test('can properly fetch a student by name', function () {
this.setupServerResponses() this.setupServerResponses()
OverrideStudentStore.fetchStudentsByName('publiu') OverrideStudentStore.fetchStudentsByName('publiu')
this.server.respond() this.server.respond()
equal(200, this.server.requests[0].status) equal(this.server.requests[0].status, 200)
}) })
test('sets currentlySearching properly', function () { test('sets currentlySearching properly', function () {
this.setupServerResponses() this.setupServerResponses()
equal(false, OverrideStudentStore.currentlySearching()) equal(OverrideStudentStore.currentlySearching(), false)
OverrideStudentStore.fetchStudentsByName('publiu') OverrideStudentStore.fetchStudentsByName('publiu')
equal(true, OverrideStudentStore.currentlySearching()) equal(OverrideStudentStore.currentlySearching(), true)
this.server.respond() this.server.respond()
equal(false, OverrideStudentStore.currentlySearching()) equal(OverrideStudentStore.currentlySearching(), false)
}) })
test('fetches students by same name only once', function () { test('fetches students by same name only once', function () {
@ -255,7 +255,7 @@ test('fetches students by same name only once', function () {
OverrideStudentStore.fetchStudentsByName('publiu') OverrideStudentStore.fetchStudentsByName('publiu')
this.server.respond() this.server.respond()
OverrideStudentStore.fetchStudentsByName('publiu') OverrideStudentStore.fetchStudentsByName('publiu')
equal(1, this.server.requests.length) equal(this.server.requests.length, 1)
}) })
test('does not fetch if allStudentsFetched is true', function () { test('does not fetch if allStudentsFetched is true', function () {

View File

@ -17,7 +17,7 @@
*/ */
import _ from 'lodash' import _ from 'lodash'
import StudentGroupStore from '@canvas/due-dates/react/StudentGroupStore' import StudentGroupStore from '../StudentGroupStore'
import fakeENV from 'helpers/fakeENV' import fakeENV from 'helpers/fakeENV'
QUnit.module('StudentGroupStore', { QUnit.module('StudentGroupStore', {

View File

@ -16,7 +16,7 @@
* with this program. If not, see <http://www.gnu.org/licenses/>. * with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
import TokenActions from '@canvas/due-dates/react/TokenActions' import TokenActions from '../TokenActions'
import AssignmentOverride from '@canvas/assignments/backbone/models/AssignmentOverride' import AssignmentOverride from '@canvas/assignments/backbone/models/AssignmentOverride'
import {map} from 'lodash' import {map} from 'lodash'