def getByName( self, name ): resolver = MilestoneRelationshipResolver( name, self._db ) componentIDs = resolver.getAllAssignedComponentIDs() components = self._componentFactory.getAllByNames( componentIDs ) projectIDs = resolver.getAllAssignedProjectIDs() projects = self._projectFactory.getAllByNames( projectIDs ) return Milestone( name, components, projects )
def testAssignProject( self ): resolver1 = MilestoneRelationshipResolver( 'test-milestone', self._db ) resolver2 = MilestoneRelationshipResolver( 'test-milestone-2', self._db ) resolver1.assignToProjectID( 'test-project-name' ) resolver2.assignToProjectID( 'another-project-name' ) projects1 = resolver1.getAllAssignedProjectIDs() projects2 = resolver2.getAllAssignedProjectIDs() self.assertEquals([ 'test-project-name' ], projects1 ) self.assertEquals([ 'another-project-name' ], projects2 )
def testAssignComponent( self ): resolver1 = MilestoneRelationshipResolver( 'test-milestone', self._db ) resolver2 = MilestoneRelationshipResolver( 'test-milestone-2', self._db ) resolver1.assignToComponentID( 'test-component-name' ) resolver2.assignToComponentID( 'another-component-name' ) components1 = resolver1.getAllAssignedComponentIDs() components2 = resolver2.getAllAssignedComponentIDs() self.assertEquals([ 'test-component-name' ], components1 ) self.assertEquals([ 'another-component-name' ], components2 )
def testUnassignProject( self ): resolver = MilestoneRelationshipResolver( 'test-milestone', self._db ) resolver.assignToProjectID( 'test-project' ) projects = resolver.getAllAssignedProjectIDs() self.assertEquals([ 'test-project' ], projects ) resolver.unassignFromProjectID( 'test-project' ) projects = resolver.getAllAssignedProjectIDs() self.assertEquals( [], projects ) self.assertDatabaseContainsNoRow()
def testUnassignCompoent( self ): resolver = MilestoneRelationshipResolver( 'test-milestone', self._db ) resolver.assignToComponentID( 'test-component' ) components = resolver.getAllAssignedComponentIDs() self.assertEquals([ 'test-component' ], components ) resolver.unassignFromComponentID( 'test-component' ) components = resolver.getAllAssignedComponentIDs() self.assertEquals( [], components ) self.assertDatabaseContainsNoRow()
def testAssignProjectChangesDatabase( self ): resolver = MilestoneRelationshipResolver( 'test-milestone', self._db ) resolver.assignToProjectID( 'project-a' ) self.assertDatabaseContainsSingleRow( ( 'test-milestone', 'project', 'project-a' ))
def testAssignComponentsChangedDatabase( self ): resolver = MilestoneRelationshipResolver( 'test-milestone', self._db ) resolver.assignToComponentID( 'component-a' ) self.assertDatabaseContainsSingleRow( ( 'test-milestone', 'component', 'component-a' ))
def testGetAllAssignedProjects( self ): resolver = MilestoneRelationshipResolver( 'test-milestone', self._db ) self.assertEquals( [], resolver.getAllAssignedProjectIDs() )