public void Query_NullPassed_ArgumentNullExceptionThrown() { // Arrange var sut = this.CreateSut(_factory); // Act var result = sut.Query(this.ConvertNullToQuery()); // Assert EAssert.IsLeft(result); Assert.Equal(typeof(ArgumentNotSet), result.LeftContent().GetType()); }
public void Query_UnExpectedErrorOccurs_ErrorReturned() { // Arrange var sut = this.CreateSut(_factory); _connection.Close(); // Act var result = sut.Query(this.ConvertWithPageAndSize(1, QueryConstants.MaxElements)); // Assert EAssert.IsLeft(result); Assert.Equal(typeof(UnknownError), result.LeftContent().GetType()); }
public void Query_MultipleElementsInDatabase_AllElementesReturned(int count) { // Arrange this.InitializeStorage(_factory, count); var sut = this.CreateSut(_factory); // Act var res = sut.Query(this.ConvertEmptyToQuery()); // Assert EAssert.IsRight(res); var result = res.RightContent(); Assert.Equal(count, result.Items.Count()); }
public void GetById_ValidId_ValidResult(int count, int id) { // Arrange IEnumerable <TModel> data = this.SampleData.Take(count + 1).ToList(); this.InitializeStorage(_factory, count); TModel queryData = data.ElementAt(id); var sut = this.CreateSut(_factory); // Act var res = sut.Query(this.ConvertToQuery(queryData)); // Assert EAssert.IsRight(res); }
public void Query_QueryByIDId_NonExistingID(int id) { // Arrange this.InitializeStorage(_factory, 1); var sut = this.CreateSut(_factory); // Act var res = sut.Query(this.ConvertToQuery(id)); // Assert EAssert.IsRight(res); var result = res.RightContent(); Assert.Empty(result.Items); }
public void Query_ValidId_ValidResult(int count) { // Arrange this.InitializeStorage(_factory, count); var sut = this.CreateSut(_factory); // Act var res = sut.Query(this.ConvertWithPageAndSize(1, QueryConstants.MaxElements)); // Assert EAssert.IsRight(res); var result = res.RightContent(); Assert.Equal(count, result.Total); Assert.Equal(count, result.Items.Count()); }
public void Insert_UnexpectedErrorOccur_ErrorReturned() { // Arrange IEnumerable <TModel> data = this.SampleData.Take(2).ToList(); this.InitializeStorage(_factory, 1); TModel newObj = data.ElementAt(0); IDatabaseCommandRepository <TId, TInput, TUpdate> repo = this.CreateSut(_factory); // Act var res = repo.Insert(this.ConvertToInvalidInput(newObj)); // Assert EAssert.IsLeft(res); }
public void Insert_ObjectAdded_IdBecomesPositiveAfterSave(int count) { // Arrange IEnumerable <TModel> data = this.SampleData.Take(count + 1).ToList(); this.InitializeStorage(_factory, count); TModel newObj = data.ElementAt(count); IDatabaseCommandRepository <TId, TInput, TUpdate> repo = this.CreateSut(_factory); // Act var insertedId = repo.Insert(this.ConvertToInput(newObj)); // Assert EAssert.IsRight(insertedId); Assert.True(this.GetId(insertedId) > 0); }
public void Update_UnExistingObjectUpdate_ErrorReturned() { // Arrange IEnumerable <TModel> data = this.SampleData.Take(4).ToList(); this.InitializeStorage(_factory, 0); TModel updateObject = data.ElementAt(3); IDatabaseCommandRepository <TId, TInput, TUpdate> repo = this.CreateSut(_factory); // Act var result = repo.Update(this.GetUnExistingId(), this.ConvertToUpdate(updateObject)); // Assert EAssert.IsLeft(result); Assert.Equal(typeof(RecordNotFound), result.LeftContent().GetType()); }
public void Delete_InsertThenDelete_DeleteWasSuccessfulExecutedReturnedTrue(int initialCount) { // Arrange IEnumerable <TModel> data = this.SampleData.Take(initialCount + 1).ToList(); this.InitializeStorage(_factory, initialCount); TModel newObj = data.ElementAt(initialCount); IDatabaseCommandRepository <TId, TInput, TUpdate> repo = this.CreateSut(_factory); var insertedRecordId = repo.Insert(this.ConvertToInput(newObj)); // Act var result = repo.Delete(insertedRecordId.RightContent()); // Assert EAssert.IsRight(result); Assert.True(result.RightContent()); }
public void Update_InvalidUpdateObject_ArgumentNotSetErrorReturned() { // Arrange IEnumerable <TModel> data = this.SampleData.Take(2).ToList(); this.InitializeStorage(_factory, 0); TModel insertObject = data.ElementAt(1); TModel updateObject = data.ElementAt(1); IDatabaseCommandRepository <TId, TInput, TUpdate> repo = this.CreateSut(_factory); var insertedRecordId = repo.Insert(this.ConvertToInput(insertObject)); // Act var result = repo.Update(insertedRecordId.RightContent(), this.ConvertToInvalidUpdate(updateObject)); // Assert EAssert.IsLeft(result); Assert.Equal(typeof(ArgumentNotSet), result.LeftContent().GetType()); }
public void Update_ExistingObjectModified_UpdateDoneSuccessfullTrueReturned(int storageCount, int targetIndex) { // Arrange IEnumerable <TModel> data = this.SampleData.Take(storageCount + 1).ToList(); this.InitializeStorage(_factory, storageCount); TModel insertObject = data.ElementAt(storageCount); TModel updateObject = data.ElementAt(targetIndex + 1); IDatabaseCommandRepository <TId, TInput, TUpdate> repo = this.CreateSut(_factory); var insertedRecordId = repo.Insert(this.ConvertToInput(insertObject)); // Act var result = repo.Update(insertedRecordId.RightContent(), this.ConvertToUpdate(updateObject)); // Assert EAssert.IsRight(result); Assert.True(result.RightContent()); }
public void Delete_DeleteAlreadyDeletedRecord_RecordIsNotDeletedFalseReturned() { // Arrange IEnumerable <TModel> data = this.SampleData.Take(1).ToList(); this.InitializeStorage(_factory, 0); TModel newObj = data.ElementAt(0); IDatabaseCommandRepository <TId, TInput, TUpdate> repo = this.CreateSut(_factory); var insertedRecordId = repo.Insert(this.ConvertToInput(newObj)); repo.Delete(insertedRecordId.RightContent()); // Act var result = repo.Delete(insertedRecordId.RightContent()); // Assert EAssert.IsLeft(result); Assert.Equal(typeof(RecordNotFound), result.LeftContent().GetType()); }
public void Delete_UnExpectedErrorOccurs_ErrorReturned() { // Arrange IEnumerable <TModel> data = this.SampleData.Take(2).ToList(); this.InitializeStorage(_factory, 0); TModel insertObject = data.ElementAt(1); IDatabaseCommandRepository <TId, TInput, TUpdate> repo = this.CreateSut(_factory); var insertedRecordId = repo.Insert(this.ConvertToInput(insertObject)); // this should make update to throw unexpected error _connection.Close(); // Act var result = repo.Delete(insertedRecordId.RightContent()); // Assert EAssert.IsLeft(result); Assert.Equal(typeof(UnknownError), result.LeftContent().GetType()); }
public void Query_QueryByIDId_ValidId() { // Arrange const int validId = 1; IEnumerable <TModel> data = this.SampleData.Take(1).ToList(); this.InitializeStorage(_factory, 1); TModel queryData = data.ElementAt(0); var sut = this.CreateSut(_factory); // Act var res = sut.Query(this.ConvertToQuery(queryData)); // Assert EAssert.IsRight(res); var result = res.RightContent(); Assert.Single(result.Items); var item = result.Items.FirstOrDefault(); Assert.Equal(validId, this.GetId(item)); }