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