If you’re using Visual Studio 2017’s SPA templates for Angular, no doubt you’ve wanted to add third-party libraries such as Font Awesome. You could reference these dependencies in the index.html, but it would be better for performance if they were included in the webpack bundle. If you’ve never worked with webpack before, this could initially be a little confusing. But, don’t worry as it’s actually pretty simple.
Create a pipe service called safe-url.pipe.ts and add the following:
Next, inject the pipe service in your app.module.ts:
And, in your Angular module declarations section:
Now, to use in your view:
Have you ever needed to add links into a web page that enabled a visitor to click to begin a chat or phone call with a Skype or Skype for business user? If you have the necessary plug-ins enabled in the browser, a phone number may be recognized automatically, but that can’t always be guaranteed. There are native URI’s to ensure that, if a site visitor has Skype or Skype for Business installed, a chat or phone call will be initialized.
The other day I was writing some unit tests for testing my MVC application’s forms authentication classes. I needed to Mock the System.Web.HttpContext object. There are a couple of ways to do this depending on the version of Visual Studio you are using (i.e. Professional, Premium/Ultimate/Enterprise) and how deep you wish to provide some default data. One takes a little more leg work and requires some manual data setting, but gives you greater control. While the other requires less coding for simple basic use.
The other day I was writing some unit tests on an MVC project. I needed to mock (fake) an HttpRequest object using the System.Web assembly. However, there was a strange issue in creating the fakes assembly and adding it to my Visual Studio solution. Namely, it didn’t show up.Read more
In an earlier post, I provided step-by-step instructions in how to perform Behavior Driven Development using Visual Studio, SpecFlow, WatiN and DryRunner. However, I’ve had a lot of students and blog readers ask me about Selenium, a more-common browser automation tool. So, I’m writing this post to show how to accomplish BDD and automated test driven development (ATDD) using Selenium.Read more
In the previous post, we examined some of the principles behind BDD. If you read it, I’m sure you’re thinking, “Wow! That’s great! But, how do I accomplish this in Visual Studio?” There are a myriad of posts on the Internet that demonstrate different components. However, there’s not really a single post with all of the information compiled. For that reason, I’m going to provide a step-by-step tutorial on how to perform BDD with Visual Studio. Additionally, I will show you how to perform automated testing using your Gherkin scripts.
This week, while moving a client’s VM to Windows Azure, I was also required to upgrade their database from SQL 2005 to SQL Azure. While not extremely difficult, there were a few gotcha’s along the way. These “gotacha’s” were primarily features that had been deprecated. Those deprecated features aren’t the purpose of blog post, however. This post is addressing a connection string issue.
As a Microsoft Certified Trainer over the past 2 years, I’ve had the opportunity of teaching hundreds of professionals how to properly engage in unit testing. Amazingly enough, even though unit testing has been around quite a while, it is still a concept that is very infantile in the corporate arena. Most developers who have adopted unit testing are those who work for start-ups or the few companies who’ve started to embrace agile methodologies executing test-driven development (TDD).
There are times where you may want to display custom validation error messages in MVC. As for me, I’m not a huge fan of the classic ValidationSummary HTML helper. I will still annotate my data model, but I want the errors to have a better presentation in the UI. Occasionally, I may want to display one error at a time. In order to do all of this, there’s a few steps that need to be implemented.
Subscribe to receive new posts in your inbox.