TeamScreen – general progress update
I though it’ll be easier. I can say, that a have a lot of external stuff that needs to be done and I don’t spend as much time as I think I should on each post – nevertheless, these are just excuses. I’m stumbling, but I’m still moving forward 🙂
Today’s post will be about introducing some order into project – some general refactoring, better UI and some features that should have been implemented before – stuff, that’ll make this project prettier 🙂
Turn off ApplicationInsights
The last post allowed me to get myself a little bit more familiar with ASP.NET Core. Using knowledge gathered there I can safely remove ApplicationInsights, which I simply don’t need. To do that I needed to remove their Nuget package from project’s Dependencies and from code in Program class. It very simple change, but I think it’s good to not clutter your code with stuff you don’t need.
TeamCity integration progress
My initial solution showed a simple list of successful and failed builds from TeamCity. This week I added a better mechanism to track build’s status, taking into account that TeamCity keeps status into two fields – Status(success, error) and State(finished, running). Thanks to that I was able to track pending builds also. Mapping logic keeps getting more complicated, so I moved it into another class from TeamController. Also, I worked a little bit on UI, this is how TeamCity build’s list looks now:
JIRA integration progress
JIRA update is pretty similar to TeamCity – I grab more data from it, especially board configuration, which allows me to display statuses and columns correctly and I worked on UI. It’s not still not finished, but I think, it’s progress in a good direction:
Unit tests added
The next think I did this week is an additional project just for unit tests. I use xunit framework for testing, mainly for its simplicity, and I was very pleasantly surprised, when during unit test project creation I discovered, that Visual Studio has now built in template just for this kind of projects:
I want to also present you what I think is a great library – Shouldly – which allows you to write much easier to read assertions:
var model = models.First(); model.ShouldNotBeNull(); model.Name.ShouldBe(buildName); model.Date.ShouldBe(finishDate); model.Status.ShouldBe(TeamCityStatusModel.Success); model.TriggeredBy.ShouldBe(user);
Other:
• Updated NuGet packages
• Cleared usings across solution
• Removed HomeController and its view – it’s not needed. Left AccountController and ManagerController to use it in future Authentication mechanism.
• Removed images and site.js created by Visual Studio
As I mentioned in the beginning of the post – I didn’t have as much time as I hoped for work on this project, but I’m still working and I hope to finish it. For now thanks for reading and see you next time 🙂