| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- /* eslint-disable
- handle-callback-err,
- no-unused-vars,
- */
- // TODO: This file was created by bulk-decaffeinate.
- // Fix any style issues and re-enable lint.
- /*
- * decaffeinate suggestions:
- * DS101: Remove unnecessary use of Array.from
- * DS102: Remove unnecessary code created because of implicit returns
- * DS207: Consider shorter variations of null checks
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
- const sinon = require("sinon");
- const chai = require("chai");
- chai.should();
- const {
- expect
- } = chai;
- const MockWebApi = require("./helpers/MockWebApi");
- const DocUpdaterClient = require("./helpers/DocUpdaterClient");
- const DocUpdaterApp = require("./helpers/DocUpdaterApp");
- describe("Getting documents for project", function() {
- before(function(done) {
- this.lines = ["one", "two", "three"];
- this.version = 42;
- return DocUpdaterApp.ensureRunning(done);
- });
- describe("when project state hash does not match", function() {
- before(function(done) {
- this.projectStateHash = DocUpdaterClient.randomId();
- [this.project_id, this.doc_id] = Array.from([DocUpdaterClient.randomId(), DocUpdaterClient.randomId()]);
- MockWebApi.insertDoc(this.project_id, this.doc_id, {lines: this.lines, version: this.version});
- return DocUpdaterClient.preloadDoc(this.project_id, this.doc_id, error => {
- if (error != null) { throw error; }
- return DocUpdaterClient.getProjectDocs(this.project_id, this.projectStateHash, (error, res, returnedDocs) => {
- this.res = res;
- this.returnedDocs = returnedDocs;
- return done();
- });
- });
- });
- return it("should return a 409 Conflict response", function() {
- return this.res.statusCode.should.equal(409);
- });
- });
- describe("when project state hash matches", function() {
- before(function(done) {
- this.projectStateHash = DocUpdaterClient.randomId();
- [this.project_id, this.doc_id] = Array.from([DocUpdaterClient.randomId(), DocUpdaterClient.randomId()]);
- MockWebApi.insertDoc(this.project_id, this.doc_id, {lines: this.lines, version: this.version});
- return DocUpdaterClient.preloadDoc(this.project_id, this.doc_id, error => {
- if (error != null) { throw error; }
- return DocUpdaterClient.getProjectDocs(this.project_id, this.projectStateHash, (error, res0, returnedDocs0) => {
- // set the hash
- this.res0 = res0;
- this.returnedDocs0 = returnedDocs0;
- return DocUpdaterClient.getProjectDocs(this.project_id, this.projectStateHash, (error, res, returnedDocs) => {
- // the hash should now match
- this.res = res;
- this.returnedDocs = returnedDocs;
- return done();
- });
- });
- });
- });
- it("should return a 200 response", function() {
- return this.res.statusCode.should.equal(200);
- });
- return it("should return the documents", function() {
- return this.returnedDocs.should.deep.equal([ {_id: this.doc_id, lines: this.lines, v: this.version} ]);
- });
- });
- return describe("when the doc has been removed", function() {
- before(function(done) {
- this.projectStateHash = DocUpdaterClient.randomId();
- [this.project_id, this.doc_id] = Array.from([DocUpdaterClient.randomId(), DocUpdaterClient.randomId()]);
- MockWebApi.insertDoc(this.project_id, this.doc_id, {lines: this.lines, version: this.version});
- return DocUpdaterClient.preloadDoc(this.project_id, this.doc_id, error => {
- if (error != null) { throw error; }
- return DocUpdaterClient.getProjectDocs(this.project_id, this.projectStateHash, (error, res0, returnedDocs0) => {
- // set the hash
- this.res0 = res0;
- this.returnedDocs0 = returnedDocs0;
- return DocUpdaterClient.deleteDoc(this.project_id, this.doc_id, (error, res, body) => {
- // delete the doc
- return DocUpdaterClient.getProjectDocs(this.project_id, this.projectStateHash, (error, res1, returnedDocs) => {
- // the hash would match, but the doc has been deleted
- this.res = res1;
- this.returnedDocs = returnedDocs;
- return done();
- });
- });
- });
- });
- });
- return it("should return a 409 Conflict response", function() {
- return this.res.statusCode.should.equal(409);
- });
- });
- });
|