public void GetMedicineTypes_CorrectData_ListOfMedicineTypes() { // Arrange mock.Setup(x => x.GetMedicineTypes()) .Returns(() => new OperationResult <IEnumerable <MedicineType> >(new List <MedicineType> { new MedicineType { Id = 1, Name = "Liquid" }, new MedicineType { Id = 2, Name = "Tablet" } })); var medicinesController = new MedicinesController(mock.Object); // Act var result = medicinesController.GetMedicineTypes() as OkObjectResult; var response = result.Value as Result <IEnumerable <MedicineType> >; // Assert Assert.AreEqual((int)HttpStatusCode.OK, result.StatusCode); Assert.IsNotNull(response.Items); Assert.AreEqual(2, response.TotalCount); Assert.AreEqual(2, response.Items.Count()); }
public void GetSpecificMedicineDetails_CorrectData_MedicineDetails() { // Arrange mock.Setup(x => x.GetMedicineDetails(It.IsAny <int>())) .Returns(() => new OperationResult <Medicine>(new Medicine { Id = 1, Name = "Nazwa leku", ContentQuantity = "20szt", Price = 6.99M, Producer = "Pharma", Description = "Nowy super świetny lek!", MedicineTypeName = "Tabletki" })); var medicinesController = new MedicinesController(mock.Object); // Act var result = medicinesController.GetSpecificMedicineDetails(It.IsAny <int>()) as OkObjectResult; var response = result.Value as Result <Medicine>; // Assert Assert.AreEqual((int)HttpStatusCode.OK, result.StatusCode); Assert.IsNotNull(response.Items); Assert.AreEqual(1, response.Items.Id); }
public void AddMedicine_CorrectData_AddedNewMedicine() { // Arrange var model = new MedicineInputModel { Name = "Nowy lek", ContentQuantity = "100ml", Price = 23.49M, Description = "Nowy jeszcze lepszy super lek", Producer = "Pharma", MedicineTypeId = 1 }; mock.Setup(x => x.CreateNewMedicine(model)).Returns(() => new OperationResult <string>(ResultResources.CreatingMedicineComplete)); var medicinesController = new MedicinesController(mock.Object); // Act var result = medicinesController.AddMedicine(model) as OkObjectResult; var response = result.Value as Result <string>; // Assert Assert.AreEqual((int)HttpStatusCode.OK, result.StatusCode); Assert.IsNotNull(response.Items); Assert.AreEqual(ResultResources.CreatingMedicineComplete, response.Items); }
public void TestIfMedicinesAreFetchedFromDb() { var context = DBSetup("testdb_" + DateTime.Now.ToString("MMddyyyyhhmmss")); var controller = new MedicinesController(context, new Mapper(MapperSetup())); var lstMedicines = new List <Medicine>() { new Medicine() { Id = 1, Name = "Dolopar", Brand = "Cipla", Strength = "500 mg", Inventory = new List <Inventory>() { new Inventory() { MedicineId = 1, BatchIdentifier = "122020", Price = 100.00f, Quantity = 50, Id = 1 } } }, new Medicine() { Id = 2, Name = "Fenak Plus", Brand = "Cipla", Strength = "200 mg", Inventory = new List <Inventory>() } }; controller.GetData().Should().BeEquivalentTo(lstMedicines); context.Dispose(); }
public void CreateNewEntry_WhenCalled_ShouldInvokeCreateNewEntryOfRepository() { //Arrange var repositoryServiceMock = new Mock <IRepository>(); var sut = new MedicinesController(repositoryServiceMock.Object); //Act sut.CreateNewEntry(new Medicine()); //Assert repositoryServiceMock.Verify(m => m.CreateNewEntry(It.IsAny <Medicine>()), Times.Once); }
public void SearchMedicineByName_WhenCalled_ShouldInvokeGetMedicineOfRepository() { //Arrange var repositoryServiceMock = new Mock <IRepository>(); var sut = new MedicinesController(repositoryServiceMock.Object); //Act sut.SearchMedicineByName("name"); //Assert repositoryServiceMock.Verify(m => m.GetMedicine(It.IsAny <string>()), Times.Once); }
public void Get_WhenCalled_ShouldInvokeAllMedicinesOfRepository( ) { //Arrange var repositoryServiceMock = new Mock <IRepository>(); var sut = new MedicinesController(repositoryServiceMock.Object); //Act sut.Get(); //Assert repositoryServiceMock.Verify(m => m.AllMedicines, Times.Once); }
public void AddMedicine_NullInputModel_ModelStateError() { // Arrange var medicinesController = new MedicinesController(It.IsAny <IMedicinesRepository>()); // Act var result = medicinesController.AddMedicine(It.IsAny <MedicineInputModel>()) as BadRequestObjectResult; var response = result.Value as List <OperationError>; // Assert Assert.AreEqual((int)HttpStatusCode.BadRequest, result.StatusCode); Assert.IsNotNull(response); Assert.AreEqual(ErrorResources.ModelStateError, response.Single().Message); }
public void GetMedicineList_InvalidData_ModelStateError() { // Arrange var medicinesController = new MedicinesController(It.IsAny <IMedicinesRepository>()); medicinesController.ModelState.AddModelError(string.Empty, string.Empty); // Act var result = medicinesController.GetMedicineList(It.IsAny <GetMedicinesViewModel>()) as BadRequestObjectResult; var response = result.Value as List <OperationError>; // Assert Assert.AreEqual((int)HttpStatusCode.BadRequest, result.StatusCode); Assert.IsNotNull(response); Assert.AreEqual(ErrorResources.ModelStateError, response.Single().Message); }
public void GetMedicineList_CorrectData_ListOfMedicines() { // Arrange mock.Setup(x => x.GetMedicineList(It.IsAny <GetMedicinesViewModel>())) .Returns(() => new OperationResult <IEnumerable <MedicineHeader> >(new List <MedicineHeader>(returnedMedicineList))); var medicinesController = new MedicinesController(mock.Object); // Act var result = medicinesController.GetMedicineList(It.IsAny <GetMedicinesViewModel>()) as OkObjectResult; var response = result.Value as Result <IEnumerable <MedicineHeader> >; // Assert Assert.AreEqual((int)HttpStatusCode.OK, result.StatusCode); Assert.IsNotNull(response.Items); Assert.AreEqual(2, response.TotalCount); Assert.AreEqual(2, response.Items.Count()); }
public void GetSpecificMedicineDetails_IdDoNotExists_NotFoundError() { // Arrange mock.Setup(x => x.GetMedicineDetails(It.IsAny <int>())) .Returns(() => new OperationResult <Medicine>( new OperationError((int)ErrorCodes.NotFound, ErrorResources.ItemNotFound))); var medicinesController = new MedicinesController(mock.Object); // Act var result = medicinesController.GetSpecificMedicineDetails(It.IsAny <int>()) as BadRequestObjectResult; var response = result.Value as IEnumerable <OperationError>; // Assert Assert.AreEqual((int)HttpStatusCode.BadRequest, result.StatusCode); Assert.IsNotNull(response); Assert.AreEqual(1, response.Count()); Assert.AreEqual(ErrorResources.ItemNotFound, response.Single().Message); Assert.AreEqual((int)ErrorCodes.NotFound, response.Single().ErrorCode); }
public async Task MigrateMedicines_InvalidData_StatusCode() { // Arrange var mock = new Mock <IMedicineStoreRepository>(); var mockMapper = new Mock <IMapper>(); mock.Setup(x => x.AddMedicinesRange(It.IsAny <List <Medicine> >())) .Returns(() => Task.CompletedTask); mock.Setup(x => x.SaveAllAsync()) .Returns(() => Task.FromResult(false)); mockMapper.Setup(x => x.Map <List <Medicine> >(It.IsAny <IEnumerable <AddMedicineViewModel> >())) .Returns(() => It.IsAny <List <Medicine> >()); var controller = new MedicinesController(mock.Object, mockMapper.Object); // Act var actionResult = await controller.MigrateMedicines(It.IsAny <IEnumerable <AddMedicineViewModel> >()) as BadRequestResult; // Assert Assert.Equal((int)HttpStatusCode.BadRequest, actionResult.StatusCode); }
public void GetMedicineTypes_DatabaseConnectionProblem_DatabaseError() { // Arrange mock.Setup(x => x.GetMedicineTypes()) .Returns(() => new OperationResult <IEnumerable <MedicineType> >( new OperationError((int)ErrorCodes.InternalServerError, ErrorResources.DatabaseError))); var medicinesController = new MedicinesController(mock.Object); // Act var result = medicinesController.GetMedicineTypes() as BadRequestObjectResult; var response = result.Value as IEnumerable <OperationError>; // Assert Assert.AreEqual((int)HttpStatusCode.BadRequest, result.StatusCode); Assert.IsNotNull(response); Assert.AreEqual(1, response.Count()); Assert.AreEqual(ErrorResources.DatabaseError, response.Single().Message); Assert.AreEqual((int)ErrorCodes.InternalServerError, response.Single().ErrorCode); }
public async Task Get_CorrectData_MedicineHeaderViewModelListAsync() { // Arrange var mock = new Mock <IMedicineStoreRepository>(); var mockMapper = new Mock <IMapper>(); mock.Setup(x => x.GetAllMedicinesAsync()) .Returns(() => Task.FromResult(GetMedicineList())); mockMapper.Setup(x => x.Map <IEnumerable <MedicineHeaderViewModel> >(It.IsAny <List <Medicine> >())) .Returns(() => GetMedicineHeaderViewModel()); var controller = new MedicinesController(mock.Object, mockMapper.Object); // Act var actionResult = await controller.Get() as OkObjectResult; var result = actionResult.Value as List <MedicineHeaderViewModel>; // Assert Assert.Equal((int)HttpStatusCode.OK, actionResult.StatusCode); Assert.Equal(2, result.Count); }
private void btnDelete_Click(object sender, RoutedEventArgs e) { try { MyDbContext context = new MyDbContext(); MedicinesController medicinesController = new MedicinesController(); Medicine medicine = MedicineDataGrid.SelectedItem as Medicine; if (MedicineDataGrid.SelectedItem != null) { context.Medicines.Attach(medicine); medicinesController.RemoveMedicine(medicine); MessageBox.Show("Препарат успешно удален."); } MedicineDataGrid.ClearValue(ItemsControl.ItemsSourceProperty); List <Medicine> medicines = context.Medicines.Include(med => med.Provider).Include(med1 => med1.Categories).ToList(); MedicineDataGrid.ItemsSource = medicines; } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public async Task GetDetails_CorrectData_MedicineDetailsViewModel() { // Arrange var mock = new Mock <IMedicineStoreRepository>(); var mockMapper = new Mock <IMapper>(); mock.Setup(x => x.GetMedicineAsync(It.IsAny <int>())) .Returns(() => Task.FromResult(GetMedicineList(1).FirstOrDefault())); mockMapper.Setup(x => x.Map <MedicineDetailsViewModel>(It.IsAny <Medicine>())) .Returns(() => GetMedicineDetailsViewModel()); var controller = new MedicinesController(mock.Object, mockMapper.Object); // Act var actionResult = await controller.GetDetails(It.IsAny <int>()) as OkObjectResult; var result = actionResult.Value as MedicineDetailsViewModel; // Assert Assert.Equal((int)HttpStatusCode.OK, actionResult.StatusCode); Assert.NotNull(result); }
public void TestIfMedicinesAreAddedToDb() { var context = DBSetup("testdb_" + DateTime.Now.ToString("MMddyyyyhhmmss")); var controller = new MedicinesController(context, new Mapper(MapperSetup())); var postObj = new Medicine() { Name = "GlimPride", Brand = "Sanofi", Strength = "50 mg" }; controller.AddData(postObj).Should().BeEquivalentTo(new StatusCodeResult(200)); context.Medicines.FirstOrDefault(med => med.Id == 3).Should().BeEquivalentTo(new Models.Medicine { Id = 3, Name = "GlimPride", Brand = "Sanofi", Strength = "50 mg", Inventory = new List <Models.Inventory>() }); context.Dispose(); }
private void btnAdd_Click(object sender, RoutedEventArgs e) { try { MyDbContext context = new MyDbContext(); MedicinesController medicinesController = new MedicinesController(); if (double.TryParse(PriceMedicine.Text, out double price) == true && int.TryParse(AmmountMedicine.Text, out int ammount) == true && int.TryParse(NameMedicine.Text, out int medicineint) == false && int.TryParse(CategoriesMedicine.Text, out int categoryint) == false && int.TryParse(ProviderMedicine.Text, out int providerint) == false ) { double priceMed = double.Parse(PriceMedicine.Text); int ammountMed = int.Parse(AmmountMedicine.Text); Medicine medicine = new Medicine(NameMedicine.Text, CategoriesMedicine.Text, ProviderMedicine.Text, priceMed, ammountMed); if (medicinesController.AddMedicine(medicine)) { MessageBox.Show("Препарат успешно добавлен."); MedicineDataGrid.ClearValue(ItemsControl.ItemsSourceProperty); List <Medicine> medicines = context.Medicines.Include(med => med.Provider).Include(med1 => med1.Categories).ToList(); MedicineDataGrid.ItemsSource = medicines; } else { MessageBox.Show("Этот препарат уже существует или введенные данные имеют неверный формат."); } } else { MessageBox.Show("Неверный формат данных"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void AddMedicine_InvalidData_ManyValidationErrors() { // Arrange var model = new MedicineInputModel { Name = "", ContentQuantity = "1", Price = 23.49M, Description = " ", Producer = " P ", MedicineTypeId = 0 }; mock.Setup(x => x.CreateNewMedicine(model)) .Returns(() => new OperationResult <string>(new List <OperationError> { new OperationError((int)ErrorCodes.BadRequest, ErrorResources.FieldCannotBeEmpty, nameof(model.Name)), new OperationError((int)ErrorCodes.BadRequest, string.Format(ErrorResources.InvalidFieldLength, 2, 10), nameof(model.ContentQuantity)), new OperationError((int)ErrorCodes.BadRequest, ErrorResources.FieldCannotBeEmpty, nameof(model.Description)) })); var medicinesController = new MedicinesController(mock.Object); // Act var result = medicinesController.AddMedicine(model) as BadRequestObjectResult; var response = result.Value as IEnumerable <OperationError>; // Assert Assert.AreEqual((int)HttpStatusCode.BadRequest, result.StatusCode); Assert.IsNotNull(response); Assert.AreEqual(3, response.Count()); Assert.AreEqual((int)ErrorCodes.BadRequest, response.First().ErrorCode); }
public void Initialize() { mockRepository = new Mock <IMedicineRepository>(); _controller = new MedicinesController(mockRepository.Object); }
public void SetUp() { _serviceMock = new Mock <IMedicinesService>(); _controller = new MedicinesController(_serviceMock.Object); }
public MedicinesControllerTests() { medicineController = new MedicinesController(); medicineViewModel = new MedicineViewModel(); medicineContracts = new MedicinesContracts(); }