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);
        }
Exemple #2
0
        public async Task SaveDocumentsAsync_Response()
        {
            //arrange.
            var expectedDTO = new CouchDBDatabase.SaveDocListResponseDTO
            {
                new CouchDBDatabase.SaveDocResponseDTO {
                    Id = "1", Rev = "2", Error = "3", Reason = "4"
                },
                new CouchDBDatabase.SaveDocResponseDTO {
                    Id = "5", Rev = "6", Error = "7", Reason = "7"
                },
            };

            _handler.SetupResponse(expectedDTO);

            //act.
            var response = await _sut.SaveStringDocumentsAsync(new string[] { "{}" });

            //assert.
            Assert.NotNull(response);
            Assert.NotNull(response.DocumentResponses);
            Assert.Equal(expectedDTO.Count, response.DocumentResponses.Count);

            Assert.Equal(expectedDTO[0].Id, response.DocumentResponses[0].Id);
            Assert.Equal(expectedDTO[0].Rev, response.DocumentResponses[0].Revision);
            Assert.NotNull(response.DocumentResponses[0].Error);
            Assert.Equal(expectedDTO[0].Error, response.DocumentResponses[0].Error.RawError);
            Assert.Equal(expectedDTO[0].Reason, response.DocumentResponses[0].Error.Reason);

            Assert.Equal(expectedDTO[1].Id, response.DocumentResponses[1].Id);
            Assert.Equal(expectedDTO[1].Rev, response.DocumentResponses[1].Revision);
            Assert.NotNull(response.DocumentResponses[1].Error);
            Assert.Equal(expectedDTO[1].Error, response.DocumentResponses[1].Error.RawError);
            Assert.Equal(expectedDTO[1].Reason, response.DocumentResponses[1].Error.Reason);
        }
        /// <summary>
        /// Initializes new instance of <see cref="SaveDocListResponse"/> class.
        /// </summary>
        /// <param name="saveDocListResponseDTO">Collection of responses for save operation of the documents.</param>
        /// <exception cref="ArgumentNullException">Required parameter is null or empty.</exception>
        public SaveDocListResponse(CouchDBDatabase.SaveDocListResponseDTO saveDocListResponseDTO)
        {
            if (saveDocListResponseDTO == null)
                throw new ArgumentNullException(nameof(saveDocListResponseDTO));

            var docResponses = saveDocListResponseDTO.Select(dto => new SaveDocResponse(dto)).ToList();
            DocumentResponses = new ReadOnlyCollection<SaveDocResponse>(docResponses);
        }
        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);
        }