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 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()); }