コード例 #1
0
        public void GetCreateShouldReturnView()
        {
            //Arrange
            var controller = new MedicineController(null);

            // Act
            var result = controller.Create();

            // Assert
            result.Should().BeOfType <ViewResult>();
        }
コード例 #2
0
        public async Task PostCreateShouldReturnRedirectWithValidModel()
        {
            //Arrange
            const string nameValue        = "Name";
            const string dosageValue      = "3 x 2";
            const string desxriptionValue = "Some description";

            string modelName        = null;
            string modelDosage      = null;
            string modelDescription = null;

            var medicineService = new Mock <IMedicineService>();

            medicineService.Setup
                (d => d.Create(
                    It.IsAny <string>(),
                    It.IsAny <string>(),
                    It.IsAny <string>()))
            .Callback((string name,
                       string dosage, string description) =>
            {
                modelName        = name;
                modelDosage      = dosage;
                modelDescription = description;
            })
            .Returns(Task.CompletedTask);

            var controller = new MedicineController(medicineService.Object);

            // Act
            var result = await controller.Create(new MedicineServiceModel
            {
                Name         = nameValue,
                Dosage       = dosageValue,
                Descritption = desxriptionValue
            });

            // Assert
            modelName.Should().Be(nameValue);
            modelDosage.Should().Be(dosageValue);
            modelDescription.Should().Be(desxriptionValue);

            result.Should().BeOfType <RedirectToActionResult>();
        }