Пример #1
0
        public void CreateNewMedicine_DatabaseError_InternalServerError()
        {
            // Arrange
            var model = new MedicineInputModel
            {
                Name            = "Nowy lek",
                ContentQuantity = "100ml",
                Price           = 23.49M,
                Description     = "Nowy jeszcze lepszy super lek",
                Producer        = "Pharma",
                MedicineTypeId  = 1
            };

            var medicinesRepository = new MedicinesRepository(It.IsAny <PharmaStoreContext>());

            // Act
            var result = medicinesRepository.CreateNewMedicine(model);

            // Assert
            Assert.IsNotNull(result);
            Assert.False(result.IsSuccess);
            Assert.IsNull(result.Result);
            Assert.AreEqual(1, result.Errors.Count());
            Assert.AreEqual(ErrorResources.DatabaseError, result.Errors.Single().Message);
            Assert.AreEqual((int)ErrorCodes.InternalServerError, result.Errors.Single().ErrorCode);
        }
Пример #2
0
        public void CreateNewMedicine_BadMedicineTypeId_BadRequestError()
        {
            // Arrange
            var model = new MedicineInputModel
            {
                Name            = "Nowy lek",
                ContentQuantity = "100ml",
                Price           = 23.49M,
                Description     = "Nowy jeszcze lepszy super lek",
                Producer        = "Pharma",
                MedicineTypeId  = 0
            };

            mockContext.Setup(x => x.MedicineTypes).Returns(mockMedicineType.Object);
            mockContext.Setup(x => x.Medicines).Returns(mockMedicine.Object);

            var medicinesRepository = new MedicinesRepository(mockContext.Object);

            // Act
            var result = medicinesRepository.CreateNewMedicine(model);

            // Assert
            Assert.IsNotNull(result);
            Assert.False(result.IsSuccess);
            Assert.IsNull(result.Result);
            Assert.AreEqual(1, result.Errors.Count());
            Assert.AreEqual(ErrorResources.InvalidInsertDatabaseData, result.Errors.Single().Message);
            Assert.AreEqual((int)ErrorCodes.BadRequest, result.Errors.Single().ErrorCode);
        }
Пример #3
0
        public void CreateNewMedicine_CorrectData_CreatedMedicine()
        {
            // Arrange
            var model = new MedicineInputModel
            {
                Name            = "Nowy lek",
                ContentQuantity = "100ml",
                Price           = 23.49M,
                Description     = "Nowy jeszcze lepszy super lek",
                Producer        = "Pharma",
                MedicineTypeId  = 1
            };

            mockContext.Setup(x => x.MedicineTypes).Returns(mockMedicineType.Object);
            mockContext.Setup(x => x.Medicines).Returns(mockMedicine.Object);

            var medicinesRepository = new MedicinesRepository(mockContext.Object);

            // Act
            var result = medicinesRepository.CreateNewMedicine(model);

            // Assert
            Assert.IsNull(result.Errors);
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Result.TotalCount);
            Assert.AreEqual(ResultResources.CreatingMedicineComplete, result.Result.Items);
            Assert.True(result.IsSuccess);
        }
Пример #4
0
        public void CreateNewMedicine_InvalidDataNullModelFields_BadRequestErrors()
        {
            // Arrange
            var model = new MedicineInputModel();

            var medicinesRepository = new MedicinesRepository(It.IsAny <PharmaStoreContext>());

            // Act
            var result = medicinesRepository.CreateNewMedicine(model);

            // Assert
            Assert.IsNull(result.Result);
            Assert.IsNotNull(result);
            Assert.AreEqual(4, result.Errors.Count());
            Assert.AreEqual(1, result.Errors.Select(x => x.Message).Distinct().Count());
            Assert.False(result.IsSuccess);
        }
Пример #5
0
        public void CreateNewMedicine_InvalidDataTooShortModelFields_BadRequestErrors()
        {
            // Arrange
            var model = new MedicineInputModel
            {
                Name            = "a",
                ContentQuantity = "aa",
                Description     = "a",
                Producer        = "a"
            };

            var medicinesRepository = new MedicinesRepository(It.IsAny <PharmaStoreContext>());

            // Act
            var result = medicinesRepository.CreateNewMedicine(model);

            // Assert
            Assert.IsNull(result.Result);
            Assert.IsNotNull(result);
            Assert.AreEqual(4, result.Errors.Count());
            Assert.False(result.IsSuccess);
        }