TeamScreen – general progress update

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 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *