1: [TestInitialize]
2: public void Initialise()
3: {
4: this.controller = Substitute.For<IController>();
5:
6: this.activityLookupServiceClient = Substitute.For<IActivityLookupServiceClient>();
7: this.activityLookupServiceClient.GetActivityTypes().Returns(activityTypes.ToObservable());
8:
9: this.activityTemplateServiceClient = Substitute.For<IActivityTemplateServiceClient>();
10: this.activityTemplateServiceClient.GetActivityTemplates().Returns(activityTemplates.ToObservable());
11: }
12:
13: [TestMethod]
14: public void OnCreationctivityTypesContains2ListItemModels()
15: {
16: var model = new NewActivityModel(this.controller, this.activityLookupServiceClient, this.activityTemplateServiceClient);
17: model.ActivityTypes
18: .Should()
19: .NotBeEmpty()
20: .And.HaveCount(2)
21: .And.ContainItemsAssignableTo<IListItemModel>();
22: }
23:
24: [TestMethod]
25: public void OnCreationFirstActivityTypeIsSetAsSelected()
26: {
27: var model = new NewActivityModel(this.controller, this.activityLookupServiceClient, this.activityTemplateServiceClient);
28: model.SelectedActivityType
29: .ShouldHave()
30: .Properties(d => d.Id, d => d.Name)
31: .EqualTo(activityTypes[0]);
32: }
33:
34: [TestMethod]
35: public void OnCreationSessionTypesContains1ListItemWithIdOfSessionTypeThatIsChildOfFirstActivityType()
36: {
37: var model = new NewActivityModel(this.controller, this.activityLookupServiceClient, this.activityTemplateServiceClient);
38: model.SessionTypes
39: .Should()
40: .NotBeEmpty()
41: .And.HaveCount(1)
42: .And.ContainItemsAssignableTo<IListItemModel>();
43: model.SessionTypes
44: .First()
45: .ShouldHave()
46: .Properties(d => d.Id, d => d.Name)
47: .EqualTo(activityTypes[0].SessionTypes[0]);
48: }