Sha256: 08ea77a48ca5f8d0b295b725f2a8cc556ce15dcdbe7c42dcc0ecf2caa1afc73f

Contents?: true

Size: 1.8 KB

Versions: 10

Compression:

Stored size: 1.8 KB

Contents

describe("SubmissionsStore", () => {
  const emptyProgramSubmission = {"solution[content]": "program {}"};
  /** @type {SubmissionResult} */
  const passedSubmissionResult = {status: 'passed'};
  /** @type {SubmissionAndResult} */
  const passedEmptyProgramSubmissionAndResult = { submission: emptyProgramSubmission, result: passedSubmissionResult };

  beforeEach(() => {
    window.localStorage.clear()
  });

  describe('getLastSubmission', () => {
    it("answers null if submission not present", () => {
      expect(mumuki.SubmissionsStore.getLastSubmissionAndResult(1)).toBe(null)
    })

    it("answers the last submission result if already sent", () => {
      mumuki.SubmissionsStore.setSubmissionResultFor(1, passedEmptyProgramSubmissionAndResult)
      expect(mumuki.SubmissionsStore.getLastSubmissionAndResult(1)).toEqual(passedEmptyProgramSubmissionAndResult)
    })
  })

  describe('getLastSubmissionStatus', () => {
    it("answers pending if submission not present", () => {
      expect(mumuki.SubmissionsStore.getLastSubmissionStatus(1)).toBe('pending')
    })

    it("answers the last submission status if previously sent", () => {
      mumuki.SubmissionsStore.setSubmissionResultFor(1, passedEmptyProgramSubmissionAndResult)
      expect(mumuki.SubmissionsStore.getLastSubmissionStatus(1)).toBe('passed')
    })
  });

  describe('getCachedResultFor', () => {
    it("answers null if submission not present", () => {
      expect(mumuki.SubmissionsStore.getSubmissionResultFor(1, emptyProgramSubmission)).toBe(null)
    })

    it("answers the last submission if previously sent", () => {
      mumuki.SubmissionsStore.setSubmissionResultFor(1, passedEmptyProgramSubmissionAndResult)
      expect(mumuki.SubmissionsStore.getSubmissionResultFor(1, emptyProgramSubmission)).toEqual(passedSubmissionResult)
    })
  });
})

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
mumuki-laboratory-7.10.5 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.10.4 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.10.3 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.10.2 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.10.1 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.10.0 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.9.2 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.9.1 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.9.0 spec/javascripts/submissions-store-spec.js
mumuki-laboratory-7.8.0 spec/javascripts/submissions-store-spec.js