public void Ctor_Puts_All_DTOs_Into_DocumentResponses() { //arrange. var dto = new CouchDBDatabase.SaveDocListResponseDTO { new CouchDBDatabase.SaveDocResponseDTO { Id = "id1", Rev = "rev1" }, new CouchDBDatabase.SaveDocResponseDTO { Id = "id2", Rev = "rev2" }, new CouchDBDatabase.SaveDocResponseDTO { Id = "id3", Rev = "rev3" } }; //act. var sut = new SaveDocListResponse(dto); //assert. Assert.NotNull(sut.DocumentResponses); Assert.Equal(3, sut.DocumentResponses.Count); Assert.Equal(dto[0].Id, sut.DocumentResponses[0].Id); Assert.Equal(dto[0].Rev, sut.DocumentResponses[0].Revision); Assert.Equal(dto[1].Id, sut.DocumentResponses[1].Id); Assert.Equal(dto[1].Rev, sut.DocumentResponses[1].Revision); Assert.Equal(dto[2].Id, sut.DocumentResponses[2].Id); Assert.Equal(dto[2].Rev, sut.DocumentResponses[2].Revision); }
public void Ctor_Keeps_Empty_DocumentResponses_If_No_DocDTO_Provided() { //arrange. var dto = new CouchDBDatabase.SaveDocListResponseDTO(); //act. var sut = new SaveDocListResponse(dto); //assert. Assert.NotNull(sut.DocumentResponses); Assert.Empty(sut.DocumentResponses); }
public async void SaveObjDocumentsAsync_Returns_Same_Result_As_DB_Object(bool newEdits) { //arrange. var expectedResponse = new SaveDocListResponse(new CouchDBDatabase.SaveDocListResponseDTO()); _sut.Setup(db => db.SaveStringDocumentsAsync(It.IsAny <string[]>(), It.IsAny <bool>())) .Returns(Task.FromResult(expectedResponse)); //act. var result = await _sut.Object.SaveObjectDocumentsAsync(new object[] { new { id = 123 } }, newEdits); //assert. Assert.Same(expectedResponse, result); }
public async void SaveEntitiesAsync_Updates_ID_And_Rev_Of_Entities_With_Success(bool newEdits) { //arrange. var entities = new[] { new SampleEntity { _id = "1", _rev = "1", Name = "name 1" }, new SampleEntity { _id = "2", _rev = "2", Name = "name 2" } }; var entityClones = entities.Select(e => JObject.FromObject(e)).Select(j => j.ToObject <SampleEntity>()).ToArray(); var expectedResponse = new SaveDocListResponse(new CouchDBDatabase.SaveDocListResponseDTO { new CouchDBDatabase.SaveDocResponseDTO { Id = "id 1", Rev = "rev 1", Error = "some error", Reason = "some reason" }, new CouchDBDatabase.SaveDocResponseDTO { Id = "id 2", Rev = "rev 2" } }); _db.Setup(db => db.SaveStringDocumentsAsync(It.IsAny <string[]>(), It.IsAny <bool>())) .Returns(Task.FromResult(expectedResponse)); //act. await _sut.SaveEntitiesAsync(entities, newEdits); //assert. //first entity did not change due to error. Assert.Equal(entityClones[0]._id, entities[0]._id); Assert.Equal(entityClones[0]._rev, entities[0]._rev); //second entity changed (no error). Assert.Equal(expectedResponse.DocumentResponses[1].Id, entities[1]._id); Assert.Equal(expectedResponse.DocumentResponses[1].Revision, entities[1]._rev); }
public async void SaveDocumentsAsync_Updates_ID_And_Rev_Of_Documents_With_Success(bool newEdits) { //arrange. var objectDocs = new [] { new { _id = "1", _rev = "1", name = "name 1" }, new { _id = "2", _rev = "2", name = "name 2" } }; var docs = new JObject[] { JObject.FromObject(objectDocs[0]), JObject.FromObject(objectDocs[1]) }; var expectedResponse = new SaveDocListResponse(new CouchDBDatabase.SaveDocListResponseDTO { new CouchDBDatabase.SaveDocResponseDTO { Id = "id 1", Rev = "rev 1", Error = "some error", Reason = "some reason" }, new CouchDBDatabase.SaveDocResponseDTO { Id = "id 2", Rev = "rev 2" } }); _sut.Setup(db => db.SaveStringDocumentsAsync(It.IsAny <string[]>(), It.IsAny <bool>())) .Returns(Task.FromResult(expectedResponse)); //act. await _sut.Object.SaveJsonDocumentsAsync(docs, newEdits); //assert. //first doc did not change due to error. Assert.Equal(objectDocs[0]._id, docs[0]["_id"]); Assert.Equal(objectDocs[0]._rev, docs[0]["_rev"]); //second doc changed (no error). Assert.Equal(expectedResponse.DocumentResponses[1].Id, docs[1]["_id"].ToString()); Assert.Equal(expectedResponse.DocumentResponses[1].Revision, docs[1]["_rev"].ToString()); }