Exemple #1
0
        public void Build_ShouldThrowAnExceptionIfTheJewelIdDoesntExists()
        {
            //Arrange
            var jewelRepository = new FakeJewelRepository(new FakeSettingManager());;

            var doesntExists = Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID + 1000;
            var model        = fixture.Build <EmailRingModel>().With(x => x.ID, doesntExists).CreateAnonymous();

            var builder = new EmailRingEmailTemplateViewModelBuilder(model, jewelRepository, mapper);

            //Act
            builder.Build();
        }
Exemple #2
0
        public ActionResult EmailRing(EmailRingModel model)
        {
            try
            {
                var builder  = new EmailRingEmailTemplateViewModelBuilder(model, jewelRepository, mapper);
                var template = builder.Build();
                mailer.EmailRing(model.FriendEmail, template).Send();
                return(Json(new OporationWithoutReturnValueJsonModel()));
            }
            catch (Exception ex)
            {
                var viewModel = new OporationWithoutReturnValueJsonModel();
                viewModel.HasError     = true;
                viewModel.ErrorMessage = ex.Message;

                return(Json(viewModel));
            }
        }
Exemple #3
0
        public void Build_ShouldMapTheModelToTheTemplateViewModel()
        {
            //Arrange
            var jewelRepository = new FakeJewelRepository(new FakeSettingManager());
            var model           = fixture.Build <EmailRingModel>().With(x => x.ID, Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID).CreateAnonymous();

            var builder = new EmailRingEmailTemplateViewModelBuilder(model, jewelRepository, mapper);
            //Act
            var template = builder.Build();

            //Assert
            template.YourName.Should().Be(model.YourName);
            template.YourEmail.Should().Be(model.YourEmail);
            template.ID.Should().Be(model.ID.ToString());
            template.Message.Should().Be(model.Message);
            template.FriendEmail.Should().Be(model.FriendEmail);
            template.FriendName.Should().Be(model.FriendName);
        }
Exemple #4
0
        public void Build_ShouldMapTheJewelDetailsToTheViewModel()
        {
            //Arrange
            var jewelRepository = new FakeJewelRepository(new FakeSettingManager());;

            var model = fixture.Build <EmailRingModel>().With(x => x.ID, Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID).CreateAnonymous();

            var builder = new EmailRingEmailTemplateViewModelBuilder(model, jewelRepository, mapper);
            //Act
            var template = builder.Build();
            //Assert
            var jewel = FakeFactory.FirstJewelInRepository;

            template.Description.Should().Be(jewel.Title);
            template.ItemNumber.Should().Be(jewel.ItemNumber);
            template.Price.Should().Be(Tests.AsMoney(jewel.Price));
            template.Icon.Should().Be(jewel.Media.IconURLForWebDisplay);
            template.MediaSet.Should().Be(jewel.Media.MediaSet);
        }